1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-08 11:42:09 +03:00

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.
This commit is contained in:
Tom Lane
2002-11-30 00:08:22 +00:00
parent f68f11928d
commit ddb2d78de0
14 changed files with 182 additions and 133 deletions

View File

@ -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;
}