postgresql/src/backend/access
Andres Freund 35ea75632a 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
2017-08-22 16:11:54 -07:00
..
brin Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
common Refactor typcache.c's record typmod hash table. 2017-08-22 16:11:54 -07:00
gin Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
gist Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
hash Final pgindent + perltidy run for v10. 2017-08-14 17:29:33 -04:00
heap Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
index Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
nbtree Remove dedicated B-tree root-split record types. 2017-08-16 12:24:40 +03:00
rmgrdesc Remove dedicated B-tree root-split record types. 2017-08-16 12:24:40 +03:00
spgist Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n). 2017-08-20 11:19:07 -07:00
tablesample Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
transam Final pgindent + perltidy run for v10. 2017-08-14 17:29:33 -04:00
Makefile TABLESAMPLE, SQL Standard and extensible 2015-05-15 14:37:10 -04:00