aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor/hashjoin.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-01-28 23:21:26 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-01-28 23:21:26 +0000
commitb39e91501c101d67b92f3e6965da5dc111195f52 (patch)
tree1820d8ba0289c5e32a025b9f62bdd98ca494a972 /src/include/executor/hashjoin.h
parent28c480e9ae64fc239fa1ebe32a981312e65ae1e7 (diff)
downloadpostgresql-b39e91501c101d67b92f3e6965da5dc111195f52.tar.gz
postgresql-b39e91501c101d67b92f3e6965da5dc111195f52.zip
Improve hash join to discard input tuples immediately if they can't
match because they contain a null join key (and the join operator is known strict). Improves performance significantly when the inner relation contains a lot of nulls, as per bug #2930.
Diffstat (limited to 'src/include/executor/hashjoin.h')
-rw-r--r--src/include/executor/hashjoin.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/include/executor/hashjoin.h b/src/include/executor/hashjoin.h
index 59ebb6ebbd9..ba086407679 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.42 2007/01/05 22:19:54 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/executor/hashjoin.h,v 1.43 2007/01/28 23:21:26 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -108,6 +108,8 @@ typedef struct HashJoinTableData
*/
FmgrInfo *hashfunctions; /* lookup data for hash functions */
+ bool *hashStrict; /* is each hash join operator strict? */
+
Size spaceUsed; /* memory space currently used by tuples */
Size spaceAllowed; /* upper limit for space used */