postgresql/src/test
Dean Rasheed 87b2ebd352 Always require SELECT permission for ON CONFLICT DO UPDATE.
The update path of an INSERT ... ON CONFLICT DO UPDATE requires SELECT
permission on the columns of the arbiter index, but it failed to check
for that in the case of an arbiter specified by constraint name.

In addition, for a table with row level security enabled, it failed to
check updated rows against the table's SELECT policies when the update
path was taken (regardless of how the arbiter index was specified).

Backpatch to 9.5 where ON CONFLICT DO UPDATE and RLS were introduced.

Security: CVE-2017-15099
2017-11-06 09:19:22 +00:00
..
authentication Post-PG 10 beta1 pgperltidy run 2017-05-17 19:01:23 -04:00
examples Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
isolation Revert bogus fixes of HOT-freezing bug 2017-11-02 15:51:41 +01:00
ldap Log diagnostic messages if errors occur during LDAP auth. 2017-10-12 22:37:14 -04:00
locale Add a temp-install prerequisite to "check"-like targets not having one. 2017-11-05 18:51:08 -08:00
mb Fix MB regression tests for WAL-logging of hash indexes. 2017-03-15 07:25:36 -04:00
modules Add a temp-install prerequisite to "check"-like targets not having one. 2017-11-05 18:51:08 -08:00
perl Remove wal_keep_segments from default configuration in PostgresNode.pm 2017-11-02 12:38:59 -04:00
recovery Try to make crash restart test work on windows. 2017-10-01 15:24:58 -07:00
regress Always require SELECT permission for ON CONFLICT DO UPDATE. 2017-11-06 09:19:22 +00:00
ssl Remove incorrect comment 2017-06-17 10:19:48 +02:00
subscription Don't reset additional columns on subscriber to NULL on UPDATE 2017-11-03 12:27:59 -04:00
thread Avoid use of bool in thread_test.c 2017-09-14 13:27:54 -04:00
Makefile Add LDAP authentication test suite 2017-09-15 11:44:29 -04:00
README Add TAP tests for password-based authentication methods. 2017-03-17 11:34:16 +02:00

PostgreSQL tests
================

This directory contains a variety of test infrastructure as well as some of the
tests in PostgreSQL. Not all tests are here -- in particular, there are more in
individual contrib/ modules and in src/bin.

Not all these tests get run by "make check". Check src/test/Makefile to see
which tests get run automatically.

authentication/
  Tests for authentication

examples/
  Demonstration programs for libpq that double as regression tests via
  "make check"

isolation/
  Tests for concurrent behavior at the SQL level

locale/
  Sanity checks for locale data, encodings, etc

mb/
  Tests for multibyte encoding (UTF-8) support

modules/
  Extensions used only or mainly for test purposes, generally not suitable
  for installing in production databases

perl/
  Infrastructure for Perl-based TAP tests

recovery/
  Test suite for recovery and replication

regress/
  PostgreSQL's main regression test suite, pg_regress

ssl/
  Tests to exercise and verify SSL certificate handling

subscription/
  Tests for logical replication

thread/
  A thread-safety-testing utility used by configure