Thread: pgsql: Properly detect read and write errors in pg_dump/dumpall, and pg
Properly detect read and write errors in pg_dump/dumpall, and pg_restore Previously some I/O errors were ignored. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/14ea89366fe321609afc5838ff9fe2ded1cd707d Modified Files -------------- src/bin/pg_dump/compress_io.c | 82 +++++++++++++++++++----------- src/bin/pg_dump/compress_io.h | 4 +- src/bin/pg_dump/pg_backup.h | 4 +- src/bin/pg_dump/pg_backup_archiver.c | 83 ++++++++++++++----------------- src/bin/pg_dump/pg_backup_archiver.h | 26 ++++++++-- src/bin/pg_dump/pg_backup_custom.c | 88 ++++++++++++++------------------- src/bin/pg_dump/pg_backup_db.c | 2 +- src/bin/pg_dump/pg_backup_directory.c | 51 +++++++++---------- src/bin/pg_dump/pg_backup_null.c | 21 ++++---- src/bin/pg_dump/pg_backup_tar.c | 83 ++++++++++++++++++------------- 10 files changed, 237 insertions(+), 207 deletions(-)
Re: pgsql: Properly detect read and write errors in pg_dump/dumpall, and pg
From
Andres Freund
Date:
On 2014-05-06 00:27:21 +0000, Bruce Momjian wrote: > Properly detect read and write errors in pg_dump/dumpall, and pg_restore > > Previously some I/O errors were ignored. My compiler complains about this with: /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_tar.c: In function ‘_tarReadRaw’: /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_archiver.h:48:19: warning: passing argument 1 of ‘gzeof’ from incompatiblepointer type #define GZEOF(fh) gzeof(fh) ^ /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_tar.c:561:24: note: in expansion of macro ‘GZEOF’ if (res != len && !GZEOF(fh)) ^ In file included from /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_archiver.h:44:0, from /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_tar.c:32: /usr/include/zlib.h:1475:21: note: expected ‘gzFile’ but argument is of type ‘struct FILE *’ ZEXTERN int ZEXPORT gzeof OF((gzFile file)); ^ You're passing fh to GZEOF instead of th->zFH if I see that correctly. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Re: pgsql: Properly detect read and write errors in pg_dump/dumpall, and pg
From
Bruce Momjian
Date:
On Tue, May 6, 2014 at 05:52:59PM +0200, Andres Freund wrote: > On 2014-05-06 00:27:21 +0000, Bruce Momjian wrote: > > Properly detect read and write errors in pg_dump/dumpall, and pg_restore > > > > Previously some I/O errors were ignored. > > My compiler complains about this with: > > /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_tar.c: In function ‘_tarReadRaw’: > /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_archiver.h:48:19: warning: passing argument 1 of ‘gzeof’ from incompatiblepointer type > #define GZEOF(fh) gzeof(fh) > ^ > /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_tar.c:561:24: note: in expansion of macro ‘GZEOF’ > if (res != len && !GZEOF(fh)) > ^ > In file included from /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_archiver.h:44:0, > from /home/andres/src/postgresql/src/bin/pg_dump/pg_backup_tar.c:32: > /usr/include/zlib.h:1475:21: note: expected ‘gzFile’ but argument is of type ‘struct FILE *’ > ZEXTERN int ZEXPORT gzeof OF((gzFile file)); > ^ > You're passing fh to GZEOF instead of th->zFH if I see that correctly. There were a few bugs, all fixed. Thanks. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +