]> granicus.if.org Git - postgresql/commit
Revise nodeMergejoin in light of example provided by Guillaume Smet.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 May 2005 21:20:16 +0000 (21:20 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 May 2005 21:20:16 +0000 (21:20 +0000)
commit184e7a73a5b65b040d5c6413ec249a2b47f321e7
treebcd27493e81f97ed534f0e5c6fab5e7e1f42890a
parent2979334d47c17e322c4cb10ad360cc0ee713700b
Revise nodeMergejoin in light of example provided by Guillaume Smet.
When one side of the join has a NULL, we don't want to uselessly try
to match it against every remaining tuple of the other side.  While
at it, rewrite the comparison machinery to avoid multiple evaluations
of the left and right input expressions and to use a btree comparator
where available, instead of double operator calls.  Also revise the
state machine to eliminate redundant comparisons and hopefully make it
more readable too.
src/backend/executor/nodeMergejoin.c
src/include/executor/execdebug.h
src/include/executor/execdefs.h
src/include/nodes/execnodes.h