aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor/hashjoin.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-01-30 01:33:36 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-01-30 01:33:36 +0000
commita635c08fa10fe545d723bcec6eb73bfdca07e2c0 (patch)
tree83ac01972011232d6841e60cd830fe34ac2463d5 /src/include/executor/hashjoin.h
parente8cd6f14a26bbecd3d8abcf36235a033cb035678 (diff)
downloadpostgresql-a635c08fa10fe545d723bcec6eb73bfdca07e2c0.tar.gz
postgresql-a635c08fa10fe545d723bcec6eb73bfdca07e2c0.zip
Add support for cross-type hashing in hash index searches and hash joins.
Hashing for aggregation purposes still needs work, so it's not time to mark any cross-type operators as hashable for general use, but these cases work if the operators are so marked by hand in the system catalogs.
Diffstat (limited to 'src/include/executor/hashjoin.h')
-rw-r--r--src/include/executor/hashjoin.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/include/executor/hashjoin.h b/src/include/executor/hashjoin.h
index ba086407679..19cfb1c473b 100644
--- a/src/include/executor/hashjoin.h
+++ b/src/include/executor/hashjoin.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/executor/hashjoin.h,v 1.43 2007/01/28 23:21:26 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/executor/hashjoin.h,v 1.44 2007/01/30 01:33:36 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -102,12 +102,11 @@ typedef struct HashJoinTableData
/*
* Info about the datatype-specific hash functions for the datatypes being
- * hashed. We assume that the inner and outer sides of each hashclause
- * are the same type, or at least share the same hash function. This is an
- * array of the same length as the number of hash keys.
+ * hashed. These are arrays of the same length as the number of hash join
+ * clauses (hash keys).
*/
- FmgrInfo *hashfunctions; /* lookup data for hash functions */
-
+ FmgrInfo *outer_hashfunctions; /* lookup data for hash functions */
+ FmgrInfo *inner_hashfunctions; /* lookup data for hash functions */
bool *hashStrict; /* is each hash join operator strict? */
Size spaceUsed; /* memory space currently used by tuples */