postgresql/src/include/optimizer
Tom Lane c1774d2c81 More fixes for planner's handling of LATERAL.
Re-allow subquery pullup for LATERAL subqueries, except when the subquery
is below an outer join and contains lateral references to relations outside
that outer join.  If we pull up in such a case, we risk introducing lateral
cross-references into outer joins' ON quals, which is something the code is
entirely unprepared to cope with right now; and I'm not sure it'll ever be
worth coping with.

Support lateral refs in VALUES (this seems to be the only additional path
type that needs such support as a consequence of re-allowing subquery
pullup).

Put in a slightly hacky fix for joinpath.c's refusal to consider
parameterized join paths even when there cannot be any unparameterized
ones.  This was causing "could not devise a query plan for the given query"
failures in queries involving more than two FROM items.

Put in an even more hacky fix for distribute_qual_to_rels() being unhappy
with join quals that contain references to rels outside their syntactic
scope; which is to say, disable that test altogether.  Need to think about
how to preserve some sort of debugging cross-check here, while not
expending more cycles than befits a debugging cross-check.
2012-08-12 16:01:26 -04:00
..
clauses.h Account for SRFs in targetlists in planner rowcount estimates. 2012-07-21 17:45:07 -04:00
cost.h More fixes for planner's handling of LATERAL. 2012-08-12 16:01:26 -04:00
geqo.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_copy.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_gene.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_misc.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_mutation.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_pool.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_random.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_recombination.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geqo_selection.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
joininfo.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pathnode.h More fixes for planner's handling of LATERAL. 2012-08-12 16:01:26 -04:00
paths.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
placeholder.h Revisit handling of UNION ALL subqueries with non-Var output columns. 2012-03-16 13:11:55 -04:00
plancat.h Fix planner to pass correct collation to operator selectivity estimators. 2012-07-08 23:51:08 -04:00
planmain.h Fix planner's handling of RETURNING lists in writable CTEs. 2012-04-25 20:20:33 -04:00
planner.h Account for SRFs in targetlists in planner rowcount estimates. 2012-07-21 17:45:07 -04:00
predtest.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
prep.h More fixes for planner's handling of LATERAL. 2012-08-12 16:01:26 -04:00
restrictinfo.h Revise parameterized-path mechanism to fix assorted issues. 2012-04-19 15:53:47 -04:00
subselect.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
tlist.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
var.h Centralize the logic for detecting misplaced aggregates, window funcs, etc. 2012-08-10 11:36:15 -04:00