diff options
| author | Andres Freund | 2017-08-22 23:05:48 +0000 |
|---|---|---|
| committer | Andres Freund | 2017-08-22 23:11:54 +0000 |
| commit | 35ea75632a56ca8ef22aa8fed03b9dabb9c8c575 (patch) | |
| tree | 630833921351b6f89f7be11372a2ac8bcba332a8 /src/include/access | |
| parent | 0052a0243d9c979a06ef273af965508103c456e0 (diff) | |
Refactor typcache.c's record typmod hash table.
Previously, tuple descriptors were stored in chains keyed by a fixed size
array of OIDs. That meant there were effectively two levels of collision
chain -- one inside and one outside the hash table. Instead, let dynahash.c
look after conflicts for us by supplying a proper hash and equal function
pair.
This is a nice cleanup on its own, but also simplifies followup
changes allowing blessed TupleDescs to be shared between backends
participating in parallel query.
Author: Thomas Munro
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm%3D34GVhOL%2BarUx56yx7OPk7%3DqpGsv3CpO54feqjAwQKm5g%40mail.gmail.com
Diffstat (limited to 'src/include/access')
| -rw-r--r-- | src/include/access/tupdesc.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/access/tupdesc.h b/src/include/access/tupdesc.h index 39fd59686a7..989fe738bbe 100644 --- a/src/include/access/tupdesc.h +++ b/src/include/access/tupdesc.h @@ -114,6 +114,8 @@ extern void DecrTupleDescRefCount(TupleDesc tupdesc); extern bool equalTupleDescs(TupleDesc tupdesc1, TupleDesc tupdesc2); +extern uint32 hashTupleDesc(TupleDesc tupdesc); + extern void TupleDescInitEntry(TupleDesc desc, AttrNumber attributeNumber, const char *attributeName, |
