aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeHashjoin.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-11-25 19:17:16 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-11-25 19:17:16 +0000
commit9765c6a9a398deae8ab6fe524db51368d3726f1d (patch)
treead2603c598ef060d074367681c6c7fb5ce58737c /src/backend/executor/nodeHashjoin.c
parentbcdf28eb026e5d56a27d6693aa3678720cd8d9f3 (diff)
downloadpostgresql-9765c6a9a398deae8ab6fe524db51368d3726f1d.tar.gz
postgresql-9765c6a9a398deae8ab6fe524db51368d3726f1d.zip
Band-aid solution for problems with SubPlans used in hash join clauses,
per report from Andrew Holm-Hansen. The difficulty arises from the fact that the planner allowed a Hash node's hashkeys to share substructure with the parent HashJoin node's hashclauses, plus some rather bizarre choices about who initializes what during executor startup. A cleaner but more invasive solution is to not store hashkeys separately in the plan tree at all, but let the HashJoin node deconstruct hashclauses during executor startup. I plan to fix it that way in HEAD.
Diffstat (limited to 'src/backend/executor/nodeHashjoin.c')
-rw-r--r--src/backend/executor/nodeHashjoin.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c
index 112155bdd37..3d43b7d02b0 100644
--- a/src/backend/executor/nodeHashjoin.c
+++ b/src/backend/executor/nodeHashjoin.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeHashjoin.c,v 1.57 2003/09/25 06:57:59 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeHashjoin.c,v 1.57.2.1 2003/11/25 19:17:16 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -417,7 +417,7 @@ ExecInitHashJoin(HashJoin *node, EState *estate)
*/
hjstate->hj_InnerHashKeys = (List *)
ExecInitExpr((Expr *) hashNode->hashkeys,
- innerPlanState(hjstate));
+ (PlanState *) hjstate);
((HashState *) innerPlanState(hjstate))->hashkeys =
hjstate->hj_InnerHashKeys;