postgresql/src/include/optimizer
Robert Haas e139f1953f Assorted preparatory refactoring for partition-wise join.
Instead of duplicating the logic to search for a matching
ParamPathInfo in multiple places, factor it out into a separate
function.

Pass only the relevant bits of the PartitionKey to
partition_bounds_equal instead of the whole thing, because
partition-wise join will want to call this without having a
PartitionKey available.

Adjust allow_star_schema_join and calc_nestloop_required_outer
to take relevant Relids rather than the entire Path, because
partition-wise join will want to call it with the top-parent
relids to determine whether a child join is allowable.

Ashutosh Bapat.  Review and testing of the larger patch set of which
this is a part by Amit Langote, Rajkumar Raghuwanshi, Rafia Sabih,
Thomas Munro, Dilip Kumar, and me.

Discussion: http://postgr.es/m/CA+TgmobQK80vtXjAsPZWWXd7c8u13G86gmuLupN+uUJjA+i4nA@mail.gmail.com
2017-08-15 12:30:38 -04:00
..
clauses.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
cost.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
geqo.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_copy.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_gene.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_misc.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_mutation.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_pool.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_random.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
geqo_recombination.h Final pgindent + perltidy run for v10. 2017-08-14 17:29:33 -04:00
geqo_selection.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
joininfo.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
orclauses.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pathnode.h Assorted preparatory refactoring for partition-wise join. 2017-08-15 12:30:38 -04:00
paths.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
placeholder.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
plancat.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
planmain.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
planner.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
predtest.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
prep.h Teach adjust_appendrel_attrs(_multilevel) to do multiple translations. 2017-08-15 10:49:06 -04:00
restrictinfo.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
subselect.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
tlist.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
var.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00