]> granicus.if.org Git - postgresql/commit
pg_dump: Fix ArchiveEntry handling of some empty values
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 28 Feb 2019 20:16:08 +0000 (17:16 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 28 Feb 2019 20:19:44 +0000 (17:19 -0300)
commit19455c9f5606072a191962271c35ad659fbab526
tree630ad889675790e1c5db63e2da3f7d7fcab794ae
parent3f61999cc9da68890174dd8cf97f2cb96b223e81
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
src/bin/pg_dump/pg_backup_archiver.c
src/bin/pg_dump/pg_backup_archiver.h
src/bin/pg_dump/pg_dump.c