diff options
author | Itagaki Takahiro <itagaki.takahiro@gmail.com> | 2009-12-14 00:39:11 +0000 |
---|---|---|
committer | Itagaki Takahiro <itagaki.takahiro@gmail.com> | 2009-12-14 00:39:11 +0000 |
commit | 84f910a7076e09e551bf69e0972473ec15d33c79 (patch) | |
tree | 7ce85524e7d24091581b2a0ce6309422d0330811 /src/bin/pg_dump/pg_backup_null.c | |
parent | 0182d6f646997e486f56f847001ff74694bdd7da (diff) | |
download | postgresql-84f910a7076e09e551bf69e0972473ec15d33c79.tar.gz postgresql-84f910a7076e09e551bf69e0972473ec15d33c79.zip |
Additional fixes for large object access control.
Use pg_largeobject_metadata.oid instead of pg_largeobject.loid
to enumerate existing large objects in pg_dump, pg_restore, and
contrib modules.
Diffstat (limited to 'src/bin/pg_dump/pg_backup_null.c')
-rw-r--r-- | src/bin/pg_dump/pg_backup_null.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/bin/pg_dump/pg_backup_null.c b/src/bin/pg_dump/pg_backup_null.c index d9cb02446b3..127ff572197 100644 --- a/src/bin/pg_dump/pg_backup_null.c +++ b/src/bin/pg_dump/pg_backup_null.c @@ -17,7 +17,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_null.c,v 1.22 2009/08/04 21:56:09 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_null.c,v 1.23 2009/12/14 00:39:11 itagaki Exp $ * *------------------------------------------------------------------------- */ @@ -151,8 +151,7 @@ _StartBlob(ArchiveHandle *AH, TocEntry *te, Oid oid) die_horribly(AH, NULL, "invalid OID for large object\n"); if (AH->ropt->dropSchema) - ahprintf(AH, "SELECT CASE WHEN EXISTS(SELECT 1 FROM pg_catalog.pg_largeobject WHERE loid = '%u') THEN pg_catalog.lo_unlink('%u') END;\n", - oid, oid); + DropBlobIfExists(AH, oid); ahprintf(AH, "SELECT pg_catalog.lo_open(pg_catalog.lo_create('%u'), %d);\n", oid, INV_WRITE); |