diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2007-01-28 23:21:26 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2007-01-28 23:21:26 +0000 |
commit | b39e91501c101d67b92f3e6965da5dc111195f52 (patch) | |
tree | 1820d8ba0289c5e32a025b9f62bdd98ca494a972 /src/include/executor/hashjoin.h | |
parent | 28c480e9ae64fc239fa1ebe32a981312e65ae1e7 (diff) | |
download | postgresql-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.h | 4 |
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 */ |