From fd6449aa38759cc35c32c1d5bf87c516ba6385c8 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 3 Nov 2018 11:08:03 +1300 Subject: [PATCH] Fix NULL handling in multi-batch Parallel Hash Left Join. NULL keys in left joins were skipped when building batch files. Repair, by making the keep_nulls argument to ExecHashGetHashValue() depend on whether this is a left outer join, as we do in other paths. Bug #15475. Thinko in 1804284042e. Back-patch to 11. Reported-by: Paul Schaap Diagnosed-by: Andrew Gierth Dicussion: https://postgr.es/m/15475-11a7a783fed72a36%40postgresql.org --- src/backend/executor/nodeHashjoin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c index dd94cffbd1..5922e60eed 100644 --- a/src/backend/executor/nodeHashjoin.c +++ b/src/backend/executor/nodeHashjoin.c @@ -1395,7 +1395,7 @@ ExecParallelHashJoinPartitionOuter(HashJoinState *hjstate) if (ExecHashGetHashValue(hashtable, econtext, hjstate->hj_OuterHashKeys, true, /* outer tuple */ - false, /* outer join, currently unsupported */ + HJ_FILL_OUTER(hjstate), &hashvalue)) { int batchno;