]> granicus.if.org Git - postgresql/commit
Hash tables backed by DSA shared memory.
authorAndres Freund <andres@anarazel.de>
Wed, 23 Aug 2017 05:41:32 +0000 (22:41 -0700)
committerAndres Freund <andres@anarazel.de>
Wed, 23 Aug 2017 05:43:07 +0000 (22:43 -0700)
commit8c0d7bafad36434cb08ac2c78e69ae72c194ca20
treef089d779b2b7f691660c9dcd84ebee227bdd1eab
parent7e046e6e8a33f8a7ef641b9539376cf939993105
Hash tables backed by DSA shared memory.

Add general purpose chaining hash tables for DSA memory.  Unlike
DynaHash in shared memory mode, these hash tables can grow as
required, and cope with being mapped into different addresses in
different backends.

There is a wide range of potential users for such a hash table, though
it's very likely the interface will need to evolve as we come to
understand the needs of different kinds of users.  E.g support for
iterators and incremental resizing is planned for later commits and
the details of the callback signatures are likely to change.

Author: Thomas Munro
Reviewed-By: John Gorman, Andres Freund, Dilip Kumar, Robert Haas
Discussion:
https://postgr.es/m/CAEepm=3d8o8XdVwYT6O=bHKsKAM2pu2D6sV1S_=4d+jStVCE7w@mail.gmail.com
https://postgr.es/m/CAEepm=0ZtQ-SpsgCyzzYpsXS6e=kZWqk3g5Ygn3MDV7A8dabUA@mail.gmail.com
src/backend/lib/Makefile
src/backend/lib/dshash.c [new file with mode: 0644]
src/include/lib/dshash.h [new file with mode: 0644]
src/tools/pgindent/typedefs.list