Thread: [COMMITTERS] pgsql: Refactor typcache.c's record typmod hash table.
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 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/35ea75632a56ca8ef22aa8fed03b9dabb9c8c575 Modified Files -------------- src/backend/access/common/tupdesc.c | 27 ++++++++++++++ src/backend/utils/cache/typcache.c | 74 ++++++++++++++++++------------------- src/include/access/tupdesc.h | 2 + 3 files changed, 65 insertions(+), 38 deletions(-)