diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/executor/hashjoin.h | 13 | ||||
| -rw-r--r-- | src/include/executor/nodeHash.h | 6 | ||||
| -rw-r--r-- | src/include/nodes/execnodes.h | 8 | ||||
| -rw-r--r-- | src/include/nodes/plannodes.h | 5 | ||||
| -rw-r--r-- | src/include/nodes/relation.h | 4 |
5 files changed, 18 insertions, 18 deletions
diff --git a/src/include/executor/hashjoin.h b/src/include/executor/hashjoin.h index 1869feae08..a2d5f633fc 100644 --- a/src/include/executor/hashjoin.h +++ b/src/include/executor/hashjoin.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: hashjoin.h,v 1.26 2002/06/20 20:29:49 momjian Exp $ + * $Id: hashjoin.h,v 1.27 2002/11/30 00:08:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -69,12 +69,13 @@ typedef struct HashTableData * file */ /* - * Info about the datatype being hashed. We assume that the inner and - * outer sides of the hash are the same type, or at least - * binary-compatible types. + * Info about the datatypes being hashed. We assume that the inner and + * outer sides of each hashclause are the same type, or at least + * binary-compatible types. Each of these fields points to an array + * of the same length as the number of hash keys. */ - int16 typLen; - bool typByVal; + int16 *typLens; + bool *typByVals; /* * During 1st scan of inner relation, we get tuples from executor. If diff --git a/src/include/executor/nodeHash.h b/src/include/executor/nodeHash.h index 8bea51e8af..654906cd3c 100644 --- a/src/include/executor/nodeHash.h +++ b/src/include/executor/nodeHash.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: nodeHash.h,v 1.25 2002/11/06 22:31:24 tgl Exp $ + * $Id: nodeHash.h,v 1.26 2002/11/30 00:08:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -24,10 +24,10 @@ extern HashJoinTable ExecHashTableCreate(Hash *node); extern void ExecHashTableDestroy(HashJoinTable hashtable); extern void ExecHashTableInsert(HashJoinTable hashtable, ExprContext *econtext, - Node *hashkey); + List *hashkeys); extern int ExecHashGetBucket(HashJoinTable hashtable, ExprContext *econtext, - Node *hashkey); + List *hashkeys); extern HeapTuple ExecScanHashBucket(HashJoinState *hjstate, List *hjclauses, ExprContext *econtext); extern void ExecHashTableReset(HashJoinTable hashtable, long ntuples); diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 6ee39b9818..544510746d 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: execnodes.h,v 1.80 2002/11/25 21:29:42 tgl Exp $ + * $Id: execnodes.h,v 1.81 2002/11/30 00:08:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -618,7 +618,8 @@ typedef struct MergeJoinState * tuple, or NULL if starting search * (CurBucketNo and CurTuple are meaningless * unless OuterTupleSlot is nonempty!) - * hj_InnerHashKey the inner hash key in the hashjoin condition + * hj_OuterHashKeys the outer hash keys in the hashjoin condition + * hj_InnerHashKeys the inner hash keys in the hashjoin condition * hj_OuterTupleSlot tuple slot for outer tuples * hj_HashTupleSlot tuple slot for hashed tuples * hj_NullInnerTupleSlot prepared null tuple for left outer joins @@ -633,7 +634,8 @@ typedef struct HashJoinState HashJoinTable hj_HashTable; int hj_CurBucketNo; HashJoinTuple hj_CurTuple; - Node *hj_InnerHashKey; + List *hj_OuterHashKeys; + List *hj_InnerHashKeys; TupleTableSlot *hj_OuterTupleSlot; TupleTableSlot *hj_HashTupleSlot; TupleTableSlot *hj_NullInnerTupleSlot; diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 0cf9d0bac9..6a6ac415f9 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: plannodes.h,v 1.60 2002/11/06 22:31:24 tgl Exp $ + * $Id: plannodes.h,v 1.61 2002/11/30 00:08:22 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -318,7 +318,6 @@ typedef struct HashJoin { Join join; List *hashclauses; - Oid hashjoinop; HashJoinState *hashjoinstate; } HashJoin; @@ -443,7 +442,7 @@ typedef struct Limit typedef struct Hash { Plan plan; - Node *hashkey; + List *hashkeys; HashState *hashstate; } Hash; diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h index a3f0e36c76..4c06224ecc 100644 --- a/src/include/nodes/relation.h +++ b/src/include/nodes/relation.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: relation.h,v 1.70 2002/11/27 20:52:04 tgl Exp $ + * $Id: relation.h,v 1.71 2002/11/30 00:08:22 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -464,8 +464,6 @@ typedef struct MergePath * A hashjoin path has these fields. * * The remarks above for mergeclauses apply for hashclauses as well. - * (But note that path_hashclauses will always be a one-element list, - * since we only hash on one hashable clause.) * * Hashjoin does not care what order its inputs appear in, so we have * no need for sortkeys. |
