pgsql: Fix pg_restore's processing of old-style BLOB COMMENTS data. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix pg_restore's processing of old-style BLOB COMMENTS data.
Date
Msg-id E1WvF9F-0001Fs-Ec@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix pg_restore's processing of old-style BLOB COMMENTS data.

Prior to 9.0, pg_dump handled comments on large objects by dumping a bunch
of COMMENT commands into a single BLOB COMMENTS archive object.  With
sufficiently many such comments, some of the commands would likely get
split across bufferloads when restoring, causing failures in
direct-to-database restores (though no problem would be evident in text
output).  This is the same type of issue we have with table data dumped as
INSERT commands, and it can be fixed in the same way, by using a mini SQL
lexer to figure out where the command boundaries are.  Fortunately, the
COMMENT commands are no more complex to lex than INSERTs, so we can just
re-use the existing lexer for INSERTs.

Per bug #10611 from Jacek Zalewski.  Back-patch to all active branches.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/c81e63d85f0c2c39d3fdfd8b95fc1ead6fdcb89f

Modified Files
--------------
src/bin/pg_dump/pg_backup_archiver.c |    6 ++++++
src/bin/pg_dump/pg_backup_db.c       |   12 +++++++++---
src/bin/pg_dump/pg_dump.c            |    2 +-
3 files changed, 16 insertions(+), 4 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix pg_restore's processing of old-style BLOB COMMENTS data.
Next
From: Tom Lane
Date:
Subject: pgsql: Fix pg_restore's processing of old-style BLOB COMMENTS data.