pgsql: pg_dump: Fix ArchiveEntry handling of some empty values

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pg_dump: Fix ArchiveEntry handling of some empty values
Date: 2019-02-28 20:23:23
Message-ID: E1gzSDD-0001OA-Jy@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pg_dump: Fix ArchiveEntry handling of some empty values

Commit f831d4acc changed what pg_dump emits for some empty fields: they
were output as empty strings before, NULL pointer afterwards. That
makes old pg_restore unable to work (crash) with such files, which is
unacceptable. Return to the original representation by explicitly
setting those struct members to "" where needed; remove some no longer
needed checks for NULL input.

We can declutter the code a little by returning to NULLs when we next
update the archive version, so add a note to remind us later.

Discussion: https://postgr.es/m/20190225074539.az6j3u464cvsoxh6@depesz.com
Reported-by: hubert depesz lubaczewski
Author: Dmitry Dolgov

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/19455c9f5606072a191962271c35ad659fbab526

Modified Files
--------------
src/bin/pg_dump/pg_backup_archiver.c | 11 ++++---
src/bin/pg_dump/pg_backup_archiver.h | 7 ++++-
src/bin/pg_dump/pg_dump.c | 56 ++++++++++++++++++++++++++++++------
3 files changed, 58 insertions(+), 16 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2019-02-28 20:34:30 pgsql: Allow buffer tuple table slots to materialize after ExecStoreVir
Previous Message Peter Eisentraut 2019-02-28 19:44:12 pgsql: Merge near-duplicate code in RI triggers