postgres.git / summary / log / commit / refs

commit    fb6c860bbd1f798dc637c8aa8972570b84f01ad2
Author:   Nathan Bossart <nathan@postgresql.org>
Date:     Thu Jul 10 20:52:41 2025 +0000
First released in: 17.6, 18.0

    pg_dump: Fix object-type sort priority for large objects.
    
    Commit a45c78e328 moved large object metadata from SECTION_PRE_DATA
    to SECTION_DATA but neglected to move PRIO_LARGE_OBJECT in
    dbObjectTypePriorities accordingly.  While this hasn't produced any
    known live bugs, it causes problems for a proposed patch that
    optimizes upgrades with many large objects.  Fixing the priority
    might also make the topological sort step marginally faster by
    reducing the number of ordering violations that have to be fixed.
    
    Reviewed-by: Nitin Motiani <nitinmotiani@google.com>
    Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
    Discussion: https://postgr.es/m/aBkQLSkx1zUJ-LwJ%40nathan
    Discussion: https://postgr.es/m/aG_5DBCjdDX6KAoD%40nathan
    Backpatch-through: 17


src/bin/pg_dump/pg_dump_sort.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_dump/pg_dump_sort.c b/src/bin/pg_dump/pg_dump_sort.c index 0b0977788f1..538e7dcb493 100644 --- a/src/bin/pg_dump/pg_dump_sort.c +++ b/src/bin/pg_dump/pg_dump_sort.c @@ -76,10 +76,10 @@ enum dbObjectTypePriorities PRIO_TABLE_ATTACH, PRIO_DUMMY_TYPE, PRIO_ATTRDEF, - PRIO_LARGE_OBJECT, PRIO_PRE_DATA_BOUNDARY, /* boundary! */ PRIO_TABLE_DATA, PRIO_SEQUENCE_SET, + PRIO_LARGE_OBJECT, PRIO_LARGE_OBJECT_DATA, PRIO_STATISTICS_DATA_DATA, PRIO_POST_DATA_BOUNDARY, /* boundary! */ [parent: b41c43084605]