pgsql: Ensure consistent sort order of large objects in pg_dump.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Ensure consistent sort order of large objects in pg_dump.
Date: 2018-11-27 20:25:54
Message-ID: E1gRjve-0005Lv-C6@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Ensure consistent sort order of large objects in pg_dump.

The primary purpose of this commit is to ensure pg_upgrade tests yield
comparable dumps pre/post upgrade, which got broken by 12a53c732 /
578b229718, as the order in pg_largeobject_metadata is likely to
differ pre/post upgrade.

It also seems like a generally good idea to make sure such dumps are
comparable, outside of pg_upgrade tests.

LO metadata already was already dumped in an ordered manner as the
metadata is dumped in a well defined order via
sortDumpableObjectsByTypeName() and sortDumpableObjects(). But large
object data is currently not tracked via that mechanism.

As Tom points out it seems possible that at some point dumpBlobs() was
assumed to dump out objects in a well defined order, due to the use of
DISTINCT, which at that time only was done using sorting.

Per complaint from Andrew Dunstan and discussion with him and Tom
Lane.

Author: Andres Freund
Discussion: https://postgr.es/m/2735.1543333649@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/471a7af585b123a8c00416eabbec927f6701583d

Modified Files
--------------
src/bin/pg_dump/pg_dump.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2018-11-27 20:38:06 Re: pgsql: Update pg_upgrade test for reg* to include regrole and regnamesp
Previous Message Andres Freund 2018-11-27 18:08:09 pgsql: Fix jit compilation bug on wide tables.