OSDN Git Service

Rework join-removal logic as per recent discussion. In particular this
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Mar 2010 22:59:34 +0000 (22:59 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Mar 2010 22:59:34 +0000 (22:59 +0000)
commitb78f6264eba33e2966447572b8261e353df01e59
tree1b5cfa84c32c6683851d335cfa9cd7dab54ecee5
parenta760893dbda9934e287789d54bbd3c4ca3914ce0
Rework join-removal logic as per recent discussion.  In particular this
fixes things so that it works for cases where nested removals are possible.
The overhead of the optimization should be significantly less, as well.
17 files changed:
src/backend/nodes/outfuncs.c
src/backend/optimizer/README
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/joinpath.c
src/backend/optimizer/plan/Makefile
src/backend/optimizer/plan/analyzejoins.c [new file with mode: 0644]
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planmain.c
src/backend/optimizer/util/pathnode.c
src/backend/optimizer/util/placeholder.c
src/include/nodes/nodes.h
src/include/nodes/relation.h
src/include/optimizer/pathnode.h
src/include/optimizer/placeholder.h
src/include/optimizer/planmain.h
src/test/regress/expected/join.out
src/test/regress/sql/join.sql