-
- Downloads
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.
Showing
- src/backend/executor/nodeMergejoin.c 624 additions, 479 deletionssrc/backend/executor/nodeMergejoin.c
- src/include/executor/execdebug.h 6 additions, 9 deletionssrc/include/executor/execdebug.h
- src/include/executor/execdefs.h 12 additions, 16 deletionssrc/include/executor/execdefs.h
- src/include/nodes/execnodes.h 16 additions, 10 deletionssrc/include/nodes/execnodes.h
Loading
Please register or sign in to comment