Revise nodeMergejoin in light of example provided by Guillaume Smet.
authorTom Lane <[email protected]>
Fri, 13 May 2005 21:20:16 +0000 (21:20 +0000)
committerTom Lane <[email protected]>
Fri, 13 May 2005 21:20:16 +0000 (21:20 +0000)
commit1cfba22865cefa73f86946aea5c5bf899d85ed8f
treef2889cbfb735b4e19933d36bca847aa70ec5060f
parent69e4678b63a5c3f7343b54e33b4df6c2d96dfc93
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