Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Someone has reported to me that VACUUM ANALYZE is causing different
> results for the same query. They believe it is caused by merge join.
Fixed; bug was introduced here:
2005-05-13 17:20 tgl
* src/: backend/executor/nodeMergejoin.c,
include/executor/execdebug.h, include/executor/execdefs.h,
include/nodes/execnodes.h: 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.
regards, tom lane