postgresql/src/test
Tom Lane b971a98cea Fix placement of initPlans when forcibly materializing a subplan.
If we forcibly place a Material node atop a finished subplan, we need
to move any initPlans attached to the subplan up to the Material node,
in order to keep SS_finalize_plan() happy.  I'd figured this out in
commit 7b67a0a49 for the case of materializing a cursor plan, but out of
an abundance of caution, I put the initPlan movement hack at the call
site for that case, rather than inside materialize_finished_plan().
That was the wrong thing, because it turns out to also be necessary for
the only other caller of materialize_finished_plan(), ie subselect.c.
We lacked any test cases that exposed the mistake, but bug#14524 from
Wei Congrui shows that it's possible to get an initPlan reference into
the top tlist in that case too, and then SS_finalize_plan() complains.
Hence, move the hack into materialize_finished_plan().

In HEAD, also relocate some recently-added tests in subselect.sql, which
I'd unthinkingly dropped into the middle of a sequence of related tests.

Report: https://postgr.es/m/20170202060020.1400.89021@wrigleys.postgresql.org
2017-02-02 19:11:27 -05:00
..
examples Include <sys/select.h> where needed 2016-09-27 01:05:21 -03:00
isolation Don't throw serialization errors for self-conflicts in INSERT ON CONFLICT. 2016-10-23 18:36:13 -04:00
locale Fix omission of -X (--no-psqlrc) in some psql invocations. 2015-12-28 11:46:43 -05:00
mb Revert "Fix broken multibyte regression tests." 2016-01-26 08:29:15 +09:00
modules test_pg_dump: perltidy cleanup 2017-01-31 11:17:40 -05:00
perl Fix mistake in comment 2017-01-12 10:25:33 -05:00
recovery Fix possible pg_basebackup failure on standby with "include WAL". 2016-10-27 11:34:28 -04:00
regress Fix placement of initPlans when forcibly materializing a subplan. 2017-02-02 19:11:27 -05:00
ssl Don't share SSL_CTX between libpq connections. 2016-10-07 12:21:52 +03:00
thread Update copyright for 2016 2016-01-02 13:33:40 -05:00
Makefile Install TAP test infrastructure so it's available for extension testing. 2016-09-23 15:50:00 -04:00
README Minor tweaks for new src/test/recovery 2016-02-29 18:16:59 -03: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.

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

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