]> granicus.if.org Git - postgresql/commit
Teach planner how to rearrange join order for some classes of OUTER JOIN.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 20 Dec 2005 02:30:36 +0000 (02:30 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 20 Dec 2005 02:30:36 +0000 (02:30 +0000)
commite3b9852728902bc816bf02574a87eda9a0ca91a1
treeedc438fa4598528935afbca3724d24e7afb2efd7
parent1a6aaaa6c485101f8fdec7e79787610dc0f4a5c7
Teach planner how to rearrange join order for some classes of OUTER JOIN.
Per my recent proposal.  I ended up basing the implementation on the
existing mechanism for enforcing valid join orders of IN joins --- the
rules for valid outer-join orders are somewhat similar.
23 files changed:
doc/src/sgml/config.sgml
doc/src/sgml/perform.sgml
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/optimizer/README
src/backend/optimizer/geqo/geqo_eval.c
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/joinrels.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/planmain.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/prep/prepjointree.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/relnode.c
src/backend/utils/misc/guc.c
src/include/nodes/nodes.h
src/include/nodes/primnodes.h
src/include/nodes/relation.h
src/include/optimizer/clauses.h
src/include/optimizer/paths.h
src/include/optimizer/planmain.h
src/include/optimizer/prep.h