pg_dump-blob-fix-comment.patch
text/x-patch
Filename: pg_dump-blob-fix-comment.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
| File | + | − |
|---|---|---|
| src/backend/utils/adt/acl.c | 0 | 1 |
| src/bin/pg_dump/pg_dump.c | 11 | 13 |
| src/bin/pg_dump/pg_dump.h | 1 | 1 |
| src/bin/pg_dump/pg_dump_sort.c | 4 | 4 |
*** base/src/backend/utils/adt/acl.c (revision 2503)
--- base/src/backend/utils/adt/acl.c (working copy)
***************
*** 765,771 ****
owner_default = ACL_ALL_RIGHTS_LANGUAGE;
break;
case ACL_OBJECT_LARGEOBJECT:
- /* Grant SELECT,UPDATE by default, for now */
world_default = ACL_NO_RIGHTS;
owner_default = ACL_ALL_RIGHTS_LARGEOBJECT;
break;
--- 765,770 ----
*** base/src/bin/pg_dump/pg_dump.h (revision 2503)
--- base/src/bin/pg_dump/pg_dump.h (working copy)
***************
*** 116,122 ****
DO_FOREIGN_SERVER,
DO_DEFAULT_ACL,
DO_BLOBS,
! DO_BLOB_COMMENTS
} DumpableObjectType;
typedef struct _dumpableObject
--- 116,122 ----
DO_FOREIGN_SERVER,
DO_DEFAULT_ACL,
DO_BLOBS,
! DO_BLOB_METADATA
} DumpableObjectType;
typedef struct _dumpableObject
*** base/src/bin/pg_dump/pg_dump_sort.c (revision 2503)
--- base/src/bin/pg_dump/pg_dump_sort.c (working copy)
***************
*** 56,62 ****
4, /* DO_FOREIGN_SERVER */
17, /* DO_DEFAULT_ACL */
10, /* DO_BLOBS */
! 11 /* DO_BLOB_COMMENTS */
};
/*
--- 56,62 ----
4, /* DO_FOREIGN_SERVER */
17, /* DO_DEFAULT_ACL */
10, /* DO_BLOBS */
! 11 /* DO_BLOB_METADATA */
};
/*
***************
*** 93,99 ****
15, /* DO_FOREIGN_SERVER */
27, /* DO_DEFAULT_ACL */
20, /* DO_BLOBS */
! 21 /* DO_BLOB_COMMENTS */
};
--- 93,99 ----
15, /* DO_FOREIGN_SERVER */
27, /* DO_DEFAULT_ACL */
20, /* DO_BLOBS */
! 21 /* DO_BLOB_METADATA */
};
***************
*** 1151,1159 ****
"BLOBS (ID %d)",
obj->dumpId);
return;
! case DO_BLOB_COMMENTS:
snprintf(buf, bufsize,
! "BLOB COMMENTS (ID %d)",
obj->dumpId);
return;
}
--- 1151,1159 ----
"BLOBS (ID %d)",
obj->dumpId);
return;
! case DO_BLOB_METADATA:
snprintf(buf, bufsize,
! "BLOB METADATA (ID %d)",
obj->dumpId);
return;
}
*** base/src/bin/pg_dump/pg_dump.c (revision 2503)
--- base/src/bin/pg_dump/pg_dump.c (working copy)
***************
*** 191,197 ****
static const char *fmtQualifiedId(const char *schema, const char *id);
static bool hasBlobs(Archive *AH);
static int dumpBlobs(Archive *AH, void *arg);
! static int dumpBlobComments(Archive *AH, void *arg);
static void dumpDatabase(Archive *AH);
static void dumpEncoding(Archive *AH);
static void dumpStdStrings(Archive *AH);
--- 191,197 ----
static const char *fmtQualifiedId(const char *schema, const char *id);
static bool hasBlobs(Archive *AH);
static int dumpBlobs(Archive *AH, void *arg);
! static int dumpBlobMetadata(Archive *AH, void *arg);
static void dumpDatabase(Archive *AH);
static void dumpEncoding(Archive *AH);
static void dumpStdStrings(Archive *AH);
***************
*** 707,716 ****
blobobj->name = strdup("BLOBS");
blobcobj = (DumpableObject *) malloc(sizeof(DumpableObject));
! blobcobj->objType = DO_BLOB_COMMENTS;
blobcobj->catId = nilCatalogId;
AssignDumpId(blobcobj);
! blobcobj->name = strdup("BLOB COMMENTS");
addObjectDependency(blobcobj, blobobj->dumpId);
}
--- 707,716 ----
blobobj->name = strdup("BLOBS");
blobcobj = (DumpableObject *) malloc(sizeof(DumpableObject));
! blobcobj->objType = DO_BLOB_METADATA;
blobcobj->catId = nilCatalogId;
AssignDumpId(blobcobj);
! blobcobj->name = strdup("BLOB METADATA");
addObjectDependency(blobcobj, blobobj->dumpId);
}
***************
*** 2048,2064 ****
}
/*
! * dumpBlobComments
! * dump all blob properties.
! * It has "BLOB COMMENTS" tag due to the historical reason, but note
! * that it is the routine to dump all the properties of blobs.
*
* Since we don't provide any way to be selective about dumping blobs,
! * there's no need to be selective about their comments either. We put
! * all the comments into one big TOC entry.
*/
static int
! dumpBlobComments(Archive *AH, void *arg)
{
const char *blobQry;
const char *blobFetchQry;
--- 2048,2062 ----
}
/*
! * dumpBlobMetadata
! * dump all blob metadata.
*
* Since we don't provide any way to be selective about dumping blobs,
! * there's no need to be selective about their metadata either. We put
! * all the metadata into one big TOC entry.
*/
static int
! dumpBlobMetadata(Archive *AH, void *arg)
{
const char *blobQry;
const char *blobFetchQry;
***************
*** 6294,6306 ****
dobj->dependencies, dobj->nDeps,
dumpBlobs, NULL);
break;
! case DO_BLOB_COMMENTS:
ArchiveEntry(fout, dobj->catId, dobj->dumpId,
dobj->name, NULL, NULL, "",
! false, "BLOB COMMENTS", SECTION_DATA,
"", "", NULL,
dobj->dependencies, dobj->nDeps,
! dumpBlobComments, NULL);
break;
}
}
--- 6292,6304 ----
dobj->dependencies, dobj->nDeps,
dumpBlobs, NULL);
break;
! case DO_BLOB_METADATA:
ArchiveEntry(fout, dobj->catId, dobj->dumpId,
dobj->name, NULL, NULL, "",
! false, "BLOB METADATA", SECTION_DATA,
"", "", NULL,
dobj->dependencies, dobj->nDeps,
! dumpBlobMetadata, NULL);
break;
}
}