postgresql/src/test/regress
Robert Haas 30833ba154 Expand partitioned tables in PartDesc order.
Previously, we expanded the inheritance hierarchy in the order in
which find_all_inheritors had locked the tables, but that turns out
to block quite a bit of useful optimization.  For example, a
partition-wise join can't count on two tables with matching bounds
to get expanded in the same order.

Where possible, this change results in expanding partitioned tables in
*bound* order.  Bound order isn't well-defined for a list-partitioned
table with a null-accepting partition or for a list-partitioned table
where the bounds for a single partition are interleaved with other
partitions.  However, when expansion in bound order is possible, it
opens up further opportunities for optimization, such as
strength-reducing MergeAppend to Append when the expansion order
matches the desired sort order.

Patch by me, with cosmetic revisions by Ashutosh Bapat.

Discussion: http://postgr.es/m/CA+TgmoZrKj7kEzcMSum3aXV4eyvvbh9WD=c6m=002WMheDyE3A@mail.gmail.com
2017-08-31 15:50:18 -04:00
..
data
expected Expand partitioned tables in PartDesc order. 2017-08-31 15:50:18 -04:00
input Merge large_object.sql test into largeobject.source. 2017-07-17 15:28:20 -04:00
output Merge large_object.sql test into largeobject.source. 2017-07-17 15:28:20 -04:00
sql Improve code coverage of select_parallel test. 2017-08-31 13:15:54 -04:00
.gitignore
GNUmakefile
Makefile
parallel_schedule Merge large_object.sql test into largeobject.source. 2017-07-17 15:28:20 -04:00
pg_regress_main.c
pg_regress.c Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
pg_regress.h Initial pgindent run with pg_bsd_indent version 2.0. 2017-06-21 14:39:04 -04:00
README
regress.c Remove to pre-8.2 coding convention for PG_MODULE_MAGIC 2017-08-30 22:40:24 -04:00
regressplans.sh
resultmap
serial_schedule Merge large_object.sql test into largeobject.source. 2017-07-17 15:28:20 -04:00
standby_schedule

Documentation concerning how to run these regression tests and interpret
the results can be found in the PostgreSQL manual, in the chapter
"Regression Tests".