Thread: pgsql: In pg_dump, use simplehash.h to look up dumpable objects by OID.

pgsql: In pg_dump, use simplehash.h to look up dumpable objects by OID.

From
Tom Lane
Date:
In pg_dump, use simplehash.h to look up dumpable objects by OID.

Create a hash table that indexes dumpable objects by CatalogId
(that is, catalog OID + object OID).  Use this to replace the
former catalogIdMap array, as well as various other single-
catalog index arrays, and also the extension membership map.

In principle this should be faster for databases with many objects,
since lookups are now O(1) not O(log N).  However, it seems that these
lookups are pretty much negligible in context, so that no overall
performance change can be measured.  But having only one lookup
data structure to maintain makes the code simpler and more flexible,
so let's do it anyway.

Discussion: https://postgr.es/m/2595220.1634855245@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/92316a4582a5714d4e494aaf90360860e7fec37a

Modified Files
--------------
src/bin/pg_dump/common.c    | 510 ++++++++++++++++++--------------------------
src/bin/pg_dump/pg_backup.h |   1 +
src/bin/pg_dump/pg_dump.c   |  14 +-
src/bin/pg_dump/pg_dump.h   |  12 +-
4 files changed, 209 insertions(+), 328 deletions(-)