Commit f23cce73 authored by Bruce Momjian's avatar Bruce Momjian

Use the new GUC variable default_with_oids in pg_dump, rather than using

WITH/WITHOUT OIDS in dump files.  This makes dump files more portable.

I have updated the pg_dump version so old binary dumps will load fine.

Pre-7.5 dumps use WITHOUT OIDS in SQL were needed, so they should be
fine.
parent 533d0915
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup.h,v 1.28 2003/12/06 03:00:11 tgl Exp $ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup.h,v 1.29 2004/03/24 03:06:08 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -130,7 +130,7 @@ PGconn *ConnectDatabase(Archive *AH, ...@@ -130,7 +130,7 @@ PGconn *ConnectDatabase(Archive *AH,
extern void ArchiveEntry(Archive *AHX, extern void ArchiveEntry(Archive *AHX,
CatalogId catalogId, DumpId dumpId, CatalogId catalogId, DumpId dumpId,
const char *tag, const char *tag,
const char *namespace, const char *owner, const char *namespace, const char *owner, bool withOids,
const char *desc, const char *defn, const char *desc, const char *defn,
const char *dropStmt, const char *copyStmt, const char *dropStmt, const char *copyStmt,
const DumpId *deps, int nDeps, const DumpId *deps, int nDeps,
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.84 2004/03/03 21:28:54 tgl Exp $ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.85 2004/03/24 03:06:08 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -53,6 +53,7 @@ static void fixPriorBlobRefs(ArchiveHandle *AH, TocEntry *blobte, ...@@ -53,6 +53,7 @@ static void fixPriorBlobRefs(ArchiveHandle *AH, TocEntry *blobte,
RestoreOptions *ropt); RestoreOptions *ropt);
static void _doSetFixedOutputState(ArchiveHandle *AH); static void _doSetFixedOutputState(ArchiveHandle *AH);
static void _doSetSessionAuth(ArchiveHandle *AH, const char *user); static void _doSetSessionAuth(ArchiveHandle *AH, const char *user);
static void _doSetWithOids(ArchiveHandle *AH, const bool withOids);
static void _reconnectToDB(ArchiveHandle *AH, const char *dbname, const char *user); static void _reconnectToDB(ArchiveHandle *AH, const char *dbname, const char *user);
static void _becomeUser(ArchiveHandle *AH, const char *user); static void _becomeUser(ArchiveHandle *AH, const char *user);
static void _becomeOwner(ArchiveHandle *AH, TocEntry *te); static void _becomeOwner(ArchiveHandle *AH, TocEntry *te);
...@@ -254,6 +255,7 @@ RestoreArchive(Archive *AHX, RestoreOptions *ropt) ...@@ -254,6 +255,7 @@ RestoreArchive(Archive *AHX, RestoreOptions *ropt)
if ((reqs & REQ_SCHEMA) != 0) /* We want the schema */ if ((reqs & REQ_SCHEMA) != 0) /* We want the schema */
{ {
ahlog(AH, 1, "creating %s %s\n", te->desc, te->tag); ahlog(AH, 1, "creating %s %s\n", te->desc, te->tag);
_printTocEntry(AH, te, ropt, false); _printTocEntry(AH, te, ropt, false);
defnDumped = true; defnDumped = true;
...@@ -559,7 +561,7 @@ void ...@@ -559,7 +561,7 @@ void
ArchiveEntry(Archive *AHX, ArchiveEntry(Archive *AHX,
CatalogId catalogId, DumpId dumpId, CatalogId catalogId, DumpId dumpId,
const char *tag, const char *tag,
const char *namespace, const char *owner, const char *namespace, const char *owner, bool withOids,
const char *desc, const char *defn, const char *desc, const char *defn,
const char *dropStmt, const char *copyStmt, const char *dropStmt, const char *copyStmt,
const DumpId *deps, int nDeps, const DumpId *deps, int nDeps,
...@@ -587,6 +589,7 @@ ArchiveEntry(Archive *AHX, ...@@ -587,6 +589,7 @@ ArchiveEntry(Archive *AHX,
newToc->tag = strdup(tag); newToc->tag = strdup(tag);
newToc->namespace = namespace ? strdup(namespace) : NULL; newToc->namespace = namespace ? strdup(namespace) : NULL;
newToc->owner = strdup(owner); newToc->owner = strdup(owner);
newToc->withOids = withOids;
newToc->desc = strdup(desc); newToc->desc = strdup(desc);
newToc->defn = strdup(defn); newToc->defn = strdup(defn);
newToc->dropStmt = strdup(dropStmt); newToc->dropStmt = strdup(dropStmt);
...@@ -1597,6 +1600,7 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt, ...@@ -1597,6 +1600,7 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt,
AH->currUser = strdup(""); /* So it's valid, but we can free() it AH->currUser = strdup(""); /* So it's valid, but we can free() it
* later if necessary */ * later if necessary */
AH->currSchema = strdup(""); /* ditto */ AH->currSchema = strdup(""); /* ditto */
AH->currWithOids = -1; /* force SET */
AH->toc = (TocEntry *) calloc(1, sizeof(TocEntry)); AH->toc = (TocEntry *) calloc(1, sizeof(TocEntry));
if (!AH->toc) if (!AH->toc)
...@@ -1727,6 +1731,7 @@ WriteToc(ArchiveHandle *AH) ...@@ -1727,6 +1731,7 @@ WriteToc(ArchiveHandle *AH)
WriteStr(AH, te->copyStmt); WriteStr(AH, te->copyStmt);
WriteStr(AH, te->namespace); WriteStr(AH, te->namespace);
WriteStr(AH, te->owner); WriteStr(AH, te->owner);
WriteStr(AH, te->withOids ? "true" : "false");
/* Dump list of dependencies */ /* Dump list of dependencies */
for (i = 0; i < te->nDeps; i++) for (i = 0; i < te->nDeps; i++)
...@@ -1795,6 +1800,15 @@ ReadToc(ArchiveHandle *AH) ...@@ -1795,6 +1800,15 @@ ReadToc(ArchiveHandle *AH)
te->namespace = ReadStr(AH); te->namespace = ReadStr(AH);
te->owner = ReadStr(AH); te->owner = ReadStr(AH);
if (AH->version >= K_VERS_1_9)
{
if (strcmp(ReadStr(AH), "true") == 0)
te->withOids = true;
else
te->withOids = false;
}
else
te->withOids = true;
/* Read TOC entry dependencies */ /* Read TOC entry dependencies */
if (AH->version >= K_VERS_1_5) if (AH->version >= K_VERS_1_5)
...@@ -2009,6 +2023,37 @@ _doSetSessionAuth(ArchiveHandle *AH, const char *user) ...@@ -2009,6 +2023,37 @@ _doSetSessionAuth(ArchiveHandle *AH, const char *user)
} }
/*
* Issue a SET default_with_oids command. Caller is responsible
* for updating state if appropriate.
*/
static void
_doSetWithOids(ArchiveHandle *AH, const bool withOids)
{
PQExpBuffer cmd = createPQExpBuffer();
appendPQExpBuffer(cmd, "SET default_with_oids = %s;", withOids ?
"true" : "false");
if (RestoringToDB(AH))
{
PGresult *res;
res = PQexec(AH->connection, cmd->data);
if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)
die_horribly(AH, modulename, "could not set default_with_oids: %s",
PQerrorMessage(AH->connection));
PQclear(res);
}
else
ahprintf(AH, "%s\n\n", cmd->data);
destroyPQExpBuffer(cmd);
}
/* /*
* Issue the commands to connect to the specified database * Issue the commands to connect to the specified database
* as the specified user. * as the specified user.
...@@ -2049,6 +2094,7 @@ _reconnectToDB(ArchiveHandle *AH, const char *dbname, const char *user) ...@@ -2049,6 +2094,7 @@ _reconnectToDB(ArchiveHandle *AH, const char *dbname, const char *user)
if (AH->currSchema) if (AH->currSchema)
free(AH->currSchema); free(AH->currSchema);
AH->currSchema = strdup(""); AH->currSchema = strdup("");
AH->currWithOids = -1;
/* re-establish fixed state */ /* re-establish fixed state */
_doSetFixedOutputState(AH); _doSetFixedOutputState(AH);
...@@ -2094,6 +2140,20 @@ _becomeOwner(ArchiveHandle *AH, TocEntry *te) ...@@ -2094,6 +2140,20 @@ _becomeOwner(ArchiveHandle *AH, TocEntry *te)
} }
/*
* Set the proper default_with_oids value for the table.
*/
static void
_setWithOids(ArchiveHandle *AH, TocEntry *te)
{
if (AH->currWithOids != te->withOids)
{
_doSetWithOids(AH, te->withOids);
AH->currWithOids = te->withOids;
}
}
/* /*
* Issue the commands to select the specified schema as the current schema * Issue the commands to select the specified schema as the current schema
* in the target database. * in the target database.
...@@ -2146,6 +2206,8 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, RestoreOptions *ropt, bool isDat ...@@ -2146,6 +2206,8 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, RestoreOptions *ropt, bool isDat
/* Select owner and schema as necessary */ /* Select owner and schema as necessary */
_becomeOwner(AH, te); _becomeOwner(AH, te);
_selectOutputSchema(AH, te->namespace); _selectOutputSchema(AH, te->namespace);
if (strcmp(te->desc, "TABLE") == 0)
_setWithOids(AH, te);
if (isData) if (isData)
pfx = "Data for "; pfx = "Data for ";
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.h,v 1.56 2004/02/24 03:35:19 tgl Exp $ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.h,v 1.57 2004/03/24 03:06:08 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -62,7 +62,7 @@ typedef z_stream *z_streamp; ...@@ -62,7 +62,7 @@ typedef z_stream *z_streamp;
#endif #endif
#define K_VERS_MAJOR 1 #define K_VERS_MAJOR 1
#define K_VERS_MINOR 8 #define K_VERS_MINOR 9
#define K_VERS_REV 0 #define K_VERS_REV 0
/* Data block types */ /* Data block types */
...@@ -80,8 +80,9 @@ typedef z_stream *z_streamp; ...@@ -80,8 +80,9 @@ typedef z_stream *z_streamp;
#define K_VERS_1_7 (( (1 * 256 + 7) * 256 + 0) * 256 + 0) /* File Offset size in #define K_VERS_1_7 (( (1 * 256 + 7) * 256 + 0) * 256 + 0) /* File Offset size in
* header */ * header */
#define K_VERS_1_8 (( (1 * 256 + 8) * 256 + 0) * 256 + 0) /* change interpretation of ID numbers and dependencies */ #define K_VERS_1_8 (( (1 * 256 + 8) * 256 + 0) * 256 + 0) /* change interpretation of ID numbers and dependencies */
#define K_VERS_1_9 (( (1 * 256 + 9) * 256 + 0) * 256 + 0) /* add default_with_oids tracking */
#define K_VERS_MAX (( (1 * 256 + 8) * 256 + 255) * 256 + 0) #define K_VERS_MAX (( (1 * 256 + 9) * 256 + 255) * 256 + 0)
/* No of BLOBs to restore in 1 TX */ /* No of BLOBs to restore in 1 TX */
#define BLOB_BATCH_SIZE 100 #define BLOB_BATCH_SIZE 100
...@@ -245,6 +246,7 @@ typedef struct _archiveHandle ...@@ -245,6 +246,7 @@ typedef struct _archiveHandle
/* these vars track state to avoid sending redundant SET commands */ /* these vars track state to avoid sending redundant SET commands */
char *currUser; /* current username */ char *currUser; /* current username */
char *currSchema; /* current schema */ char *currSchema; /* current schema */
bool currWithOids; /* current default_with_oids setting */
void *lo_buf; void *lo_buf;
size_t lo_buf_used; size_t lo_buf_used;
...@@ -262,6 +264,7 @@ typedef struct _tocEntry ...@@ -262,6 +264,7 @@ typedef struct _tocEntry
char *tag; /* index tag */ char *tag; /* index tag */
char *namespace; /* null or empty string if not in a schema */ char *namespace; /* null or empty string if not in a schema */
char *owner; char *owner;
bool withOids; /* Used only by "TABLE" tags */
char *desc; char *desc;
char *defn; char *defn;
char *dropStmt; char *dropStmt;
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* by PostgreSQL * by PostgreSQL
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.369 2004/03/23 22:06:08 tgl Exp $ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.370 2004/03/24 03:06:08 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -1094,7 +1094,7 @@ dumpTableData(Archive *fout, TableDataInfo *tdinfo) ...@@ -1094,7 +1094,7 @@ dumpTableData(Archive *fout, TableDataInfo *tdinfo)
ArchiveEntry(fout, tdinfo->dobj.catId, tdinfo->dobj.dumpId, ArchiveEntry(fout, tdinfo->dobj.catId, tdinfo->dobj.dumpId,
tbinfo->dobj.name, tbinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"TABLE DATA", "", "", copyStmt, "TABLE DATA", "", "", copyStmt,
tdinfo->dobj.dependencies, tdinfo->dobj.nDeps, tdinfo->dobj.dependencies, tdinfo->dobj.nDeps,
dumpFn, tdinfo); dumpFn, tdinfo);
...@@ -1263,6 +1263,7 @@ dumpDatabase(Archive *AH) ...@@ -1263,6 +1263,7 @@ dumpDatabase(Archive *AH)
datname, /* Name */ datname, /* Name */
NULL, /* Namespace */ NULL, /* Namespace */
dba, /* Owner */ dba, /* Owner */
false, /* with oids */
"DATABASE", /* Desc */ "DATABASE", /* Desc */
creaQry->data, /* Create */ creaQry->data, /* Create */
delQry->data, /* Del */ delQry->data, /* Del */
...@@ -1318,7 +1319,7 @@ dumpEncoding(Archive *AH) ...@@ -1318,7 +1319,7 @@ dumpEncoding(Archive *AH)
ArchiveEntry(AH, nilCatalogId, createDumpId(), ArchiveEntry(AH, nilCatalogId, createDumpId(),
"ENCODING", NULL, "", "ENCODING", NULL, "",
"ENCODING", qry->data, "", NULL, false, "ENCODING", qry->data, "", NULL,
NULL, 0, NULL, 0,
NULL, NULL); NULL, NULL);
...@@ -3930,7 +3931,7 @@ dumpComment(Archive *fout, const char *target, ...@@ -3930,7 +3931,7 @@ dumpComment(Archive *fout, const char *target,
appendPQExpBuffer(query, ";\n"); appendPQExpBuffer(query, ";\n");
ArchiveEntry(fout, nilCatalogId, createDumpId(), ArchiveEntry(fout, nilCatalogId, createDumpId(),
target, namespace, owner, target, namespace, owner, false,
"COMMENT", query->data, "", NULL, "COMMENT", query->data, "", NULL,
&(dumpId), 1, &(dumpId), 1,
NULL, NULL); NULL, NULL);
...@@ -3990,7 +3991,7 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo, ...@@ -3990,7 +3991,7 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo,
ArchiveEntry(fout, nilCatalogId, createDumpId(), ArchiveEntry(fout, nilCatalogId, createDumpId(),
target->data, target->data,
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, tbinfo->dobj.namespace->dobj.name, tbinfo->usename,
"COMMENT", query->data, "", NULL, false, "COMMENT", query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1, &(tbinfo->dobj.dumpId), 1,
NULL, NULL); NULL, NULL);
} }
...@@ -4010,7 +4011,7 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo, ...@@ -4010,7 +4011,7 @@ dumpTableComment(Archive *fout, TableInfo *tbinfo,
ArchiveEntry(fout, nilCatalogId, createDumpId(), ArchiveEntry(fout, nilCatalogId, createDumpId(),
target->data, target->data,
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, tbinfo->dobj.namespace->dobj.name, tbinfo->usename,
"COMMENT", query->data, "", NULL, false, "COMMENT", query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1, &(tbinfo->dobj.dumpId), 1,
NULL, NULL); NULL, NULL);
} }
...@@ -4259,7 +4260,7 @@ dumpDumpableObject(Archive *fout, DumpableObject *dobj) ...@@ -4259,7 +4260,7 @@ dumpDumpableObject(Archive *fout, DumpableObject *dobj)
case DO_BLOBS: case DO_BLOBS:
ArchiveEntry(fout, dobj->catId, dobj->dumpId, ArchiveEntry(fout, dobj->catId, dobj->dumpId,
dobj->name, NULL, "", dobj->name, NULL, "",
"BLOBS", "", "", NULL, false, "BLOBS", "", "", NULL,
NULL, 0, NULL, 0,
dumpBlobs, NULL); dumpBlobs, NULL);
break; break;
...@@ -4313,7 +4314,7 @@ dumpNamespace(Archive *fout, NamespaceInfo *nspinfo) ...@@ -4313,7 +4314,7 @@ dumpNamespace(Archive *fout, NamespaceInfo *nspinfo)
ArchiveEntry(fout, nspinfo->dobj.catId, nspinfo->dobj.dumpId, ArchiveEntry(fout, nspinfo->dobj.catId, nspinfo->dobj.dumpId,
nspinfo->dobj.name, nspinfo->dobj.name,
NULL, "", NULL, "",
"SCHEMA", q->data, delq->data, NULL, false, "SCHEMA", q->data, delq->data, NULL,
nspinfo->dobj.dependencies, nspinfo->dobj.nDeps, nspinfo->dobj.dependencies, nspinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
} }
...@@ -4604,7 +4605,7 @@ dumpBaseType(Archive *fout, TypeInfo *tinfo) ...@@ -4604,7 +4605,7 @@ dumpBaseType(Archive *fout, TypeInfo *tinfo)
ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId, ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId,
tinfo->dobj.name, tinfo->dobj.name,
tinfo->dobj.namespace->dobj.name, tinfo->dobj.namespace->dobj.name,
tinfo->usename, tinfo->usename, false,
"TYPE", q->data, delq->data, NULL, "TYPE", q->data, delq->data, NULL,
tinfo->dobj.dependencies, tinfo->dobj.nDeps, tinfo->dobj.dependencies, tinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -4710,7 +4711,7 @@ dumpDomain(Archive *fout, TypeInfo *tinfo) ...@@ -4710,7 +4711,7 @@ dumpDomain(Archive *fout, TypeInfo *tinfo)
ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId, ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId,
tinfo->dobj.name, tinfo->dobj.name,
tinfo->dobj.namespace->dobj.name, tinfo->dobj.namespace->dobj.name,
tinfo->usename, tinfo->usename, false,
"DOMAIN", q->data, delq->data, NULL, "DOMAIN", q->data, delq->data, NULL,
tinfo->dobj.dependencies, tinfo->dobj.nDeps, tinfo->dobj.dependencies, tinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -4803,7 +4804,7 @@ dumpCompositeType(Archive *fout, TypeInfo *tinfo) ...@@ -4803,7 +4804,7 @@ dumpCompositeType(Archive *fout, TypeInfo *tinfo)
ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId, ArchiveEntry(fout, tinfo->dobj.catId, tinfo->dobj.dumpId,
tinfo->dobj.name, tinfo->dobj.name,
tinfo->dobj.namespace->dobj.name, tinfo->dobj.namespace->dobj.name,
tinfo->usename, tinfo->usename, false,
"TYPE", q->data, delq->data, NULL, "TYPE", q->data, delq->data, NULL,
tinfo->dobj.dependencies, tinfo->dobj.nDeps, tinfo->dobj.dependencies, tinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -4896,7 +4897,7 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang) ...@@ -4896,7 +4897,7 @@ dumpProcLang(Archive *fout, ProcLangInfo *plang)
ArchiveEntry(fout, plang->dobj.catId, plang->dobj.dumpId, ArchiveEntry(fout, plang->dobj.catId, plang->dobj.dumpId,
plang->dobj.name, plang->dobj.name,
funcInfo->dobj.namespace->dobj.name, "", funcInfo->dobj.namespace->dobj.name, "",
"PROCEDURAL LANGUAGE", false, "PROCEDURAL LANGUAGE",
defqry->data, delqry->data, NULL, defqry->data, delqry->data, NULL,
plang->dobj.dependencies, plang->dobj.nDeps, plang->dobj.dependencies, plang->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -5168,7 +5169,7 @@ dumpFunc(Archive *fout, FuncInfo *finfo) ...@@ -5168,7 +5169,7 @@ dumpFunc(Archive *fout, FuncInfo *finfo)
ArchiveEntry(fout, finfo->dobj.catId, finfo->dobj.dumpId, ArchiveEntry(fout, finfo->dobj.catId, finfo->dobj.dumpId,
funcsig_tag, funcsig_tag,
finfo->dobj.namespace->dobj.name, finfo->dobj.namespace->dobj.name,
finfo->usename, finfo->usename, false,
"FUNCTION", q->data, delqry->data, NULL, "FUNCTION", q->data, delqry->data, NULL,
finfo->dobj.dependencies, finfo->dobj.nDeps, finfo->dobj.dependencies, finfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -5308,7 +5309,7 @@ dumpCast(Archive *fout, CastInfo *cast) ...@@ -5308,7 +5309,7 @@ dumpCast(Archive *fout, CastInfo *cast)
ArchiveEntry(fout, cast->dobj.catId, cast->dobj.dumpId, ArchiveEntry(fout, cast->dobj.catId, cast->dobj.dumpId,
castsig->data, castsig->data,
"pg_catalog", "", "pg_catalog", "",
"CAST", defqry->data, delqry->data, NULL, false, "CAST", defqry->data, delqry->data, NULL,
cast->dobj.dependencies, cast->dobj.nDeps, cast->dobj.dependencies, cast->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -5561,7 +5562,7 @@ dumpOpr(Archive *fout, OprInfo *oprinfo) ...@@ -5561,7 +5562,7 @@ dumpOpr(Archive *fout, OprInfo *oprinfo)
ArchiveEntry(fout, oprinfo->dobj.catId, oprinfo->dobj.dumpId, ArchiveEntry(fout, oprinfo->dobj.catId, oprinfo->dobj.dumpId,
oprinfo->dobj.name, oprinfo->dobj.name,
oprinfo->dobj.namespace->dobj.name, oprinfo->usename, oprinfo->dobj.namespace->dobj.name, oprinfo->usename,
"OPERATOR", q->data, delq->data, NULL, false, "OPERATOR", q->data, delq->data, NULL,
oprinfo->dobj.dependencies, oprinfo->dobj.nDeps, oprinfo->dobj.dependencies, oprinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -5868,7 +5869,7 @@ dumpOpclass(Archive *fout, OpclassInfo *opcinfo) ...@@ -5868,7 +5869,7 @@ dumpOpclass(Archive *fout, OpclassInfo *opcinfo)
ArchiveEntry(fout, opcinfo->dobj.catId, opcinfo->dobj.dumpId, ArchiveEntry(fout, opcinfo->dobj.catId, opcinfo->dobj.dumpId,
opcinfo->dobj.name, opcinfo->dobj.name,
opcinfo->dobj.namespace->dobj.name, opcinfo->usename, opcinfo->dobj.namespace->dobj.name, opcinfo->usename,
"OPERATOR CLASS", q->data, delq->data, NULL, false, "OPERATOR CLASS", q->data, delq->data, NULL,
opcinfo->dobj.dependencies, opcinfo->dobj.nDeps, opcinfo->dobj.dependencies, opcinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -5978,7 +5979,7 @@ dumpConversion(Archive *fout, ConvInfo *convinfo) ...@@ -5978,7 +5979,7 @@ dumpConversion(Archive *fout, ConvInfo *convinfo)
ArchiveEntry(fout, convinfo->dobj.catId, convinfo->dobj.dumpId, ArchiveEntry(fout, convinfo->dobj.catId, convinfo->dobj.dumpId,
convinfo->dobj.name, convinfo->dobj.name,
convinfo->dobj.namespace->dobj.name, convinfo->usename, convinfo->dobj.namespace->dobj.name, convinfo->usename,
"CONVERSION", q->data, delq->data, NULL, false, "CONVERSION", q->data, delq->data, NULL,
convinfo->dobj.dependencies, convinfo->dobj.nDeps, convinfo->dobj.dependencies, convinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6213,7 +6214,7 @@ dumpAgg(Archive *fout, AggInfo *agginfo) ...@@ -6213,7 +6214,7 @@ dumpAgg(Archive *fout, AggInfo *agginfo)
ArchiveEntry(fout, agginfo->aggfn.dobj.catId, agginfo->aggfn.dobj.dumpId, ArchiveEntry(fout, agginfo->aggfn.dobj.catId, agginfo->aggfn.dobj.dumpId,
aggsig_tag, aggsig_tag,
agginfo->aggfn.dobj.namespace->dobj.name, agginfo->aggfn.usename, agginfo->aggfn.dobj.namespace->dobj.name, agginfo->aggfn.usename,
"AGGREGATE", q->data, delq->data, NULL, false, "AGGREGATE", q->data, delq->data, NULL,
agginfo->aggfn.dobj.dependencies, agginfo->aggfn.dobj.nDeps, agginfo->aggfn.dobj.dependencies, agginfo->aggfn.dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6292,7 +6293,7 @@ dumpACL(Archive *fout, CatalogId objCatId, DumpId objDumpId, ...@@ -6292,7 +6293,7 @@ dumpACL(Archive *fout, CatalogId objCatId, DumpId objDumpId,
ArchiveEntry(fout, nilCatalogId, createDumpId(), ArchiveEntry(fout, nilCatalogId, createDumpId(),
tag, nspname, tag, nspname,
owner ? owner : "", owner ? owner : "",
"ACL", sql->data, "", NULL, false, "ACL", sql->data, "", NULL,
&(objDumpId), 1, &(objDumpId), 1,
NULL, NULL); NULL, NULL);
...@@ -6528,8 +6529,6 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo) ...@@ -6528,8 +6529,6 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
appendPQExpBuffer(q, ")"); appendPQExpBuffer(q, ")");
} }
appendPQExpBuffer(q, tbinfo->hasoids ? " WITH OIDS" : " WITHOUT OIDS");
appendPQExpBuffer(q, ";\n"); appendPQExpBuffer(q, ";\n");
/* Loop dumping statistics and storage statements */ /* Loop dumping statistics and storage statements */
...@@ -6596,6 +6595,7 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo) ...@@ -6596,6 +6595,7 @@ dumpTableSchema(Archive *fout, TableInfo *tbinfo)
ArchiveEntry(fout, tbinfo->dobj.catId, tbinfo->dobj.dumpId, ArchiveEntry(fout, tbinfo->dobj.catId, tbinfo->dobj.dumpId,
tbinfo->dobj.name, tbinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, tbinfo->dobj.namespace->dobj.name, tbinfo->usename,
(strcmp(reltypename, "TABLE") == 0) ? tbinfo->hasoids : false,
reltypename, q->data, delq->data, NULL, reltypename, q->data, delq->data, NULL,
tbinfo->dobj.dependencies, tbinfo->dobj.nDeps, tbinfo->dobj.dependencies, tbinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6650,7 +6650,7 @@ dumpAttrDef(Archive *fout, AttrDefInfo *adinfo) ...@@ -6650,7 +6650,7 @@ dumpAttrDef(Archive *fout, AttrDefInfo *adinfo)
ArchiveEntry(fout, adinfo->dobj.catId, adinfo->dobj.dumpId, ArchiveEntry(fout, adinfo->dobj.catId, adinfo->dobj.dumpId,
tbinfo->attnames[adnum - 1], tbinfo->attnames[adnum - 1],
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, tbinfo->dobj.namespace->dobj.name, tbinfo->usename,
"DEFAULT", q->data, delq->data, NULL, false, "DEFAULT", q->data, delq->data, NULL,
adinfo->dobj.dependencies, adinfo->dobj.nDeps, adinfo->dobj.dependencies, adinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6740,7 +6740,7 @@ dumpIndex(Archive *fout, IndxInfo *indxinfo) ...@@ -6740,7 +6740,7 @@ dumpIndex(Archive *fout, IndxInfo *indxinfo)
ArchiveEntry(fout, indxinfo->dobj.catId, indxinfo->dobj.dumpId, ArchiveEntry(fout, indxinfo->dobj.catId, indxinfo->dobj.dumpId,
indxinfo->dobj.name, indxinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"INDEX", q->data, delq->data, NULL, "INDEX", q->data, delq->data, NULL,
indxinfo->dobj.dependencies, indxinfo->dobj.nDeps, indxinfo->dobj.dependencies, indxinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6838,7 +6838,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) ...@@ -6838,7 +6838,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId,
coninfo->dobj.name, coninfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"CONSTRAINT", q->data, delq->data, NULL, "CONSTRAINT", q->data, delq->data, NULL,
coninfo->dobj.dependencies, coninfo->dobj.nDeps, coninfo->dobj.dependencies, coninfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6869,7 +6869,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) ...@@ -6869,7 +6869,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId,
coninfo->dobj.name, coninfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"FK CONSTRAINT", q->data, delq->data, NULL, "FK CONSTRAINT", q->data, delq->data, NULL,
coninfo->dobj.dependencies, coninfo->dobj.nDeps, coninfo->dobj.dependencies, coninfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6902,7 +6902,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) ...@@ -6902,7 +6902,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId,
coninfo->dobj.name, coninfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"CHECK CONSTRAINT", q->data, delq->data, NULL, "CHECK CONSTRAINT", q->data, delq->data, NULL,
coninfo->dobj.dependencies, coninfo->dobj.nDeps, coninfo->dobj.dependencies, coninfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -6936,7 +6936,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo) ...@@ -6936,7 +6936,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId, ArchiveEntry(fout, coninfo->dobj.catId, coninfo->dobj.dumpId,
coninfo->dobj.name, coninfo->dobj.name,
tinfo->dobj.namespace->dobj.name, tinfo->dobj.namespace->dobj.name,
tinfo->usename, tinfo->usename, false,
"CHECK CONSTRAINT", q->data, delq->data, NULL, "CHECK CONSTRAINT", q->data, delq->data, NULL,
coninfo->dobj.dependencies, coninfo->dobj.nDeps, coninfo->dobj.dependencies, coninfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -7003,7 +7003,7 @@ setMaxOid(Archive *fout) ...@@ -7003,7 +7003,7 @@ setMaxOid(Archive *fout)
ArchiveEntry(fout, nilCatalogId, createDumpId(), ArchiveEntry(fout, nilCatalogId, createDumpId(),
"Max OID", NULL, "", "Max OID", NULL, "",
"<Init>", sql, "", NULL, false, "<Init>", sql, "", NULL,
NULL, 0, NULL, 0,
NULL, NULL); NULL, NULL);
} }
...@@ -7200,7 +7200,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo) ...@@ -7200,7 +7200,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
ArchiveEntry(fout, tbinfo->dobj.catId, tbinfo->dobj.dumpId, ArchiveEntry(fout, tbinfo->dobj.catId, tbinfo->dobj.dumpId,
tbinfo->dobj.name, tbinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, tbinfo->dobj.namespace->dobj.name, tbinfo->usename,
"SEQUENCE", query->data, delqry->data, NULL, false, "SEQUENCE", query->data, delqry->data, NULL,
tbinfo->dobj.dependencies, tbinfo->dobj.nDeps, tbinfo->dobj.dependencies, tbinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
} }
...@@ -7216,7 +7216,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo) ...@@ -7216,7 +7216,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
ArchiveEntry(fout, nilCatalogId, createDumpId(), ArchiveEntry(fout, nilCatalogId, createDumpId(),
tbinfo->dobj.name, tbinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->usename, tbinfo->dobj.namespace->dobj.name, tbinfo->usename,
"SEQUENCE SET", query->data, "", NULL, false, "SEQUENCE SET", query->data, "", NULL,
&(tbinfo->dobj.dumpId), 1, &(tbinfo->dobj.dumpId), 1,
NULL, NULL); NULL, NULL);
} }
...@@ -7381,7 +7381,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo) ...@@ -7381,7 +7381,7 @@ dumpTrigger(Archive *fout, TriggerInfo *tginfo)
ArchiveEntry(fout, tginfo->dobj.catId, tginfo->dobj.dumpId, ArchiveEntry(fout, tginfo->dobj.catId, tginfo->dobj.dumpId,
tginfo->dobj.name, tginfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"TRIGGER", query->data, delqry->data, NULL, "TRIGGER", query->data, delqry->data, NULL,
tginfo->dobj.dependencies, tginfo->dobj.nDeps, tginfo->dobj.dependencies, tginfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
...@@ -7475,7 +7475,7 @@ dumpRule(Archive *fout, RuleInfo *rinfo) ...@@ -7475,7 +7475,7 @@ dumpRule(Archive *fout, RuleInfo *rinfo)
ArchiveEntry(fout, rinfo->dobj.catId, rinfo->dobj.dumpId, ArchiveEntry(fout, rinfo->dobj.catId, rinfo->dobj.dumpId,
rinfo->dobj.name, rinfo->dobj.name,
tbinfo->dobj.namespace->dobj.name, tbinfo->dobj.namespace->dobj.name,
tbinfo->usename, tbinfo->usename, false,
"RULE", cmd->data, delcmd->data, NULL, "RULE", cmd->data, delcmd->data, NULL,
rinfo->dobj.dependencies, rinfo->dobj.nDeps, rinfo->dobj.dependencies, rinfo->dobj.nDeps,
NULL, NULL); NULL, NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment