pgsql: Simplify and speed up pg_dump's creation of parent-table links. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Simplify and speed up pg_dump's creation of parent-table links.
Date
Msg-id E1pdE6i-0041EV-57@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Simplify and speed up pg_dump's creation of parent-table links.

Instead of trying to optimize this by skipping creation of the
links for tables we don't plan to dump, just create them all in
bulk with a single scan over the pg_inherits data.  The previous
approach was more or less O(N^2) in the number of pg_inherits
entries, not to mention being way too complicated.

Also, don't create useless TableAttachInfo objects.
It's silly to create a TableAttachInfo object that we're not
going to dump, when we know perfectly well at creation time
that it won't be dumped.

Patch by me; thanks to Julien Rouhaud for review.

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/064709f803c05559d2849a62fdb855fbb91ffeb8

Modified Files
--------------
src/bin/pg_dump/common.c  | 128 +++++++++++++++++++---------------------------
src/bin/pg_dump/pg_dump.c |   3 --
src/bin/pg_dump/pg_dump.h |   5 +-
3 files changed, 56 insertions(+), 80 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix pg_dump for hash partitioning on enum columns.
Next
From: Jeff Davis
Date:
Subject: pgsql: Fix t_isspace(), etc., when datlocprovider=i and datctype=C.