summaryrefslogtreecommitdiff
path: root/src/include/executor
diff options
context:
space:
mode:
authorJeff Davis2020-02-07 03:39:47 +0000
committerJeff Davis2020-02-07 04:34:01 +0000
commit4eaea3db150af56aa2e40efe91997fd25f3b6d73 (patch)
tree8ccd0fb526260581c2356faa9a6f54909b6ff1b2 /src/include/executor
parente6f86f8dd9835b18890fd8e9868884dec37e3bd7 (diff)
Introduce TupleHashTableHash() and LookupTupleHashEntryHash().
Expose two new entry points: one for only calculating the hash value of a tuple, and another for looking up a hash entry when the hash value is already known. This will be useful for disk-based Hash Aggregation to avoid recomputing the hash value for the same tuple after saving and restoring it from disk. Discussion: https://postgr.es/m/37091115219dd522fd9ed67333ee8ed1b7e09443.camel%40j-davis.com
Diffstat (limited to 'src/include/executor')
-rw-r--r--src/include/executor/executor.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h
index 6ef3e1fe069..e49cb110461 100644
--- a/src/include/executor/executor.h
+++ b/src/include/executor/executor.h
@@ -140,6 +140,11 @@ extern TupleHashTable BuildTupleHashTableExt(PlanState *parent,
extern TupleHashEntry LookupTupleHashEntry(TupleHashTable hashtable,
TupleTableSlot *slot,
bool *isnew);
+extern uint32 TupleHashTableHash(struct tuplehash_hash *tb,
+ const MinimalTuple tuple);
+extern TupleHashEntry LookupTupleHashEntryHash(TupleHashTable hashtable,
+ TupleTableSlot *slot,
+ bool *isnew, uint32 hash);
extern TupleHashEntry FindTupleHashEntry(TupleHashTable hashtable,
TupleTableSlot *slot,
ExprState *eqcomp,