diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-11-30 00:08:22 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-11-30 00:08:22 +0000 |
| commit | ddb2d78de0172b1f3a00c8e3bf35345af9952f43 (patch) | |
| tree | 75aaa2922e21b78514cd592241c1718a2e6a4ba8 /src/backend/nodes | |
| parent | f68f11928d5c791873073c882775dae10283ff49 (diff) | |
| download | postgresql-ddb2d78de0172b1f3a00c8e3bf35345af9952f43.tar.gz | |
Upgrade planner and executor to allow multiple hash keys for a hash join,
instead of only one. This should speed up planning (only one hash path
to consider for a given pair of relations) as well as allow more effective
hashing, when there are multiple hashable joinclauses.
Diffstat (limited to 'src/backend/nodes')
| -rw-r--r-- | src/backend/nodes/copyfuncs.c | 7 | ||||
| -rw-r--r-- | src/backend/nodes/outfuncs.c | 5 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index a678d6326b..7798913cde 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -15,7 +15,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.223 2002/11/25 21:29:36 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.224 2002/11/30 00:08:16 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -429,7 +429,6 @@ _copyHashJoin(HashJoin *from) * copy remainder of node */ COPY_NODE_FIELD(hashclauses); - COPY_SCALAR_FIELD(hashjoinop); /* subPlan list must point to subplans in the new subtree, not the old */ FIX_SUBPLAN_LINKS(join.plan.subPlan, hashclauses); @@ -593,9 +592,9 @@ _copyHash(Hash *from) /* * copy remainder of node */ - COPY_NODE_FIELD(hashkey); + COPY_NODE_FIELD(hashkeys); - /* XXX could the hashkey contain subplans? Not at present... */ + /* XXX could the hashkeys contain subplans? Not at present... */ return newnode; } diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 11572a4eba..528148f02f 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.183 2002/11/25 21:29:36 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.184 2002/11/30 00:08:16 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -538,7 +538,6 @@ _outHashJoin(StringInfo str, HashJoin *node) _outJoinPlanInfo(str, (Join *) node); WRITE_NODE_FIELD(hashclauses); - WRITE_OID_FIELD(hashjoinop); } static void @@ -634,7 +633,7 @@ _outHash(StringInfo str, Hash *node) _outPlanInfo(str, (Plan *) node); - WRITE_NODE_FIELD(hashkey); + WRITE_NODE_FIELD(hashkeys); } static void |
