postgres/src
Tom Lane 53bcf5e3db Build "other rels" of appendrel baserels in a separate step.
Up to now, otherrel RelOptInfos were built at the same time as baserel
RelOptInfos, thanks to recursion in build_simple_rel().  However,
nothing in query_planner's preprocessing cares at all about otherrels,
only baserels, so we don't really need to build them until just before
we enter make_one_rel.  This has two benefits:

* create_lateral_join_info did a lot of extra work to propagate
lateral-reference information from parents to the correct children.
But if we delay creation of the children till after that, it's
trivial (and much harder to break, too).

* Since we have all the restriction quals correctly assigned to
parent appendrels by this point, it'll be possible to do plan-time
pruning and never make child RelOptInfos at all for partitions that
can be pruned away.  That's not done here, but will be later on.

Amit Langote, reviewed at various times by Dilip Kumar, Jesper Pedersen,
Yoshikazu Imai, and David Rowley

Discussion: https://postgr.es/m/9d7c5112-cb99-6a47-d3be-cf1ee6862a1d@lab.ntt.co.jp
2019-03-26 18:21:10 -04:00
..
backend Build "other rels" of appendrel baserels in a separate step. 2019-03-26 18:21:10 -04:00
bin psql: Schema-qualify typecast in one \d query 2019-03-26 13:06:41 -03:00
common Refactor more code logic to update the control file 2019-03-18 12:59:35 +09:00
fe_utils pgbench: Remove \cset 2019-03-25 12:16:07 -03:00
include Build "other rels" of appendrel baserels in a separate step. 2019-03-26 18:21:10 -04:00
interfaces Restructure libpq's handling of send failures. 2019-03-19 16:20:28 -04:00
makefiles Move port-specific parts of with_temp_install to port makefile. 2019-02-04 18:54:56 +00:00
pl Transaction chaining 2019-03-24 11:33:02 +01:00
port Fix error handling of readdir() port implementation on first file lookup 2019-03-04 09:49:06 +09:00
template Yet further rethinking of build changes for macOS Mojave. 2018-11-02 18:54:00 -04:00
test Add ORDER BY to more ICU regression test cases. 2019-03-26 17:46:04 -04:00
timezone More unconstify use 2019-02-13 11:50:16 +01:00
tools tableam: Add tuple_{insert, delete, update, lock} and use. 2019-03-23 19:55:57 -07:00
tutorial SQL comment: remove extra word in heading comment 2019-01-25 18:57:21 -05:00
.gitignore
DEVELOPERS
Makefile
Makefile.global.in Revert attempts to use POPCNT etc instructions 2019-02-15 16:32:30 -03:00
Makefile.shlib Ensure static libraries have correct mod time even if ranlib messes it up. 2018-11-29 15:53:44 -05:00
nls-global.mk Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00