MCPcopy Create free account
hub / github.com/apache/cloudberry / dumpNamespace

Function dumpNamespace

src/bin/pg_dump/pg_dump.c:11576–11634  ·  view source on GitHub ↗

* dumpNamespace * writes out to fout the queries to recreate a user-defined namespace */

Source from the content-addressed store, hash-verified

11574 * writes out to fout the queries to recreate a user-defined namespace
11575 */
11576static void
11577dumpNamespace(Archive *fout, const NamespaceInfo *nspinfo)
11578{
11579 DumpOptions *dopt = fout->dopt;
11580 PQExpBuffer q;
11581 PQExpBuffer delq;
11582 char *qnspname;
11583
11584 /* Skip if not to be dumped */
11585 if (!nspinfo->dobj.dump || dopt->dataOnly)
11586 return;
11587
11588 q = createPQExpBuffer();
11589 delq = createPQExpBuffer();
11590
11591 qnspname = pg_strdup(fmtId(nspinfo->dobj.name));
11592
11593 appendPQExpBuffer(delq, "DROP SCHEMA %s;\n", qnspname);
11594
11595 if (dopt->binary_upgrade)
11596 binary_upgrade_set_namespace_oid(fout, q, nspinfo->dobj.catId.oid);
11597
11598 appendPQExpBuffer(q, "CREATE SCHEMA %s;\n", qnspname);
11599
11600 if (dopt->binary_upgrade)
11601 binary_upgrade_extension_member(q, &nspinfo->dobj,
11602 "SCHEMA", qnspname, NULL);
11603
11604 if (nspinfo->dobj.dump & DUMP_COMPONENT_DEFINITION)
11605 ArchiveEntry(fout, nspinfo->dobj.catId, nspinfo->dobj.dumpId,
11606 ARCHIVE_OPTS(.tag = nspinfo->dobj.name,
11607 .owner = nspinfo->rolname,
11608 .description = "SCHEMA",
11609 .section = SECTION_PRE_DATA,
11610 .createStmt = q->data,
11611 .dropStmt = delq->data));
11612
11613 /* Dump Schema Comments and Security Labels */
11614 if (nspinfo->dobj.dump & DUMP_COMPONENT_COMMENT)
11615 dumpComment(fout, "SCHEMA", qnspname,
11616 NULL, nspinfo->rolname,
11617 nspinfo->dobj.catId, 0, nspinfo->dobj.dumpId);
11618
11619 if (nspinfo->dobj.dump & DUMP_COMPONENT_SECLABEL)
11620 dumpSecLabel(fout, "SCHEMA", qnspname,
11621 NULL, nspinfo->rolname,
11622 nspinfo->dobj.catId, 0, nspinfo->dobj.dumpId);
11623
11624 if (nspinfo->dobj.dump & DUMP_COMPONENT_ACL)
11625 dumpACL(fout, nspinfo->dobj.dumpId, InvalidDumpId, "SCHEMA",
11626 qnspname, NULL, NULL,
11627 nspinfo->rolname, nspinfo->nspacl, nspinfo->rnspacl,
11628 nspinfo->initnspacl, nspinfo->initrnspacl);
11629
11630 free(qnspname);
11631
11632 destroyPQExpBuffer(q);
11633 destroyPQExpBuffer(delq);

Callers 1

dumpDumpableObjectFunction · 0.85

Calls 11

createPQExpBufferFunction · 0.85
pg_strdupFunction · 0.85
fmtIdFunction · 0.85
appendPQExpBufferFunction · 0.85
ArchiveEntryFunction · 0.85
dumpCommentFunction · 0.85
dumpSecLabelFunction · 0.85
dumpACLFunction · 0.85
destroyPQExpBufferFunction · 0.85

Tested by

no test coverage detected