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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: In pg_dump, use simplehash.h to look up dumpable objects by OID.
Date: 2021-10-22 21:19:28
Message-ID: E1me1wm-0003K2-3P@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2021-10-23 05:45:11 pgsql: doc: Describe calculation method of streaming start for pg_recei
Previous Message Tom Lane 2021-10-22 20:43:52 pgsql: Fix frontend version of sh_error() in simplehash.h.