Thread: pgsql: The original patch to avoid building a hash join's hashtable when

pgsql: The original patch to avoid building a hash join's hashtable when

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
The original patch to avoid building a hash join's hashtable when the
outer relation is empty did not work, per test case from Patrick Welche.
It tried to use nodeHashjoin.c's high-level mechanisms for fetching an
outer-relation tuple, but that code expected the hash table to be filled
already.  As patched, the code failed in corner cases such as having no
outer-relation tuples for the first hash batch.  Revert and rewrite.

Modified Files:
--------------
    pgsql/src/backend/executor:
        nodeHash.c (r1.94 -> r1.95)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c.diff?r1=1.94&r2=1.95)
        nodeHashjoin.c (r1.72 -> r1.73)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHashjoin.c.diff?r1=1.72&r2=1.73)
    pgsql/src/include/nodes:
        execnodes.h (r1.137 -> r1.138)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.137&r2=1.138)