pg_dump: avoid schema qualification for ALTER ... OWNER
We already use search_path to specify the schema, so there is no need for pg_dump to schema-qualify the name. Also remove dead code.
This commit is contained in:
parent
527ea66849
commit
808f8f5d6d
|
@ -2879,11 +2879,7 @@ _selectTablespace(ArchiveHandle *AH, const char *tablespace)
|
||||||
/*
|
/*
|
||||||
* Extract an object description for a TOC entry, and append it to buf.
|
* Extract an object description for a TOC entry, and append it to buf.
|
||||||
*
|
*
|
||||||
* This is not quite as general as it may seem, since it really only
|
* This is used for ALTER ... OWNER TO.
|
||||||
* handles constructing the right thing to put into ALTER ... OWNER TO.
|
|
||||||
*
|
|
||||||
* The whole thing is pretty grotty, but we are kind of stuck since the
|
|
||||||
* information used is all that's available in older dump files.
|
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
_getObjectDescription(PQExpBuffer buf, TocEntry *te, ArchiveHandle *AH)
|
_getObjectDescription(PQExpBuffer buf, TocEntry *te, ArchiveHandle *AH)
|
||||||
|
@ -2895,7 +2891,7 @@ _getObjectDescription(PQExpBuffer buf, TocEntry *te, ArchiveHandle *AH)
|
||||||
strcmp(type, "MATERIALIZED VIEW") == 0)
|
strcmp(type, "MATERIALIZED VIEW") == 0)
|
||||||
type = "TABLE";
|
type = "TABLE";
|
||||||
|
|
||||||
/* objects named by a schema and name */
|
/* objects that don't require special decoration */
|
||||||
if (strcmp(type, "COLLATION") == 0 ||
|
if (strcmp(type, "COLLATION") == 0 ||
|
||||||
strcmp(type, "CONVERSION") == 0 ||
|
strcmp(type, "CONVERSION") == 0 ||
|
||||||
strcmp(type, "DOMAIN") == 0 ||
|
strcmp(type, "DOMAIN") == 0 ||
|
||||||
|
@ -2903,35 +2899,16 @@ _getObjectDescription(PQExpBuffer buf, TocEntry *te, ArchiveHandle *AH)
|
||||||
strcmp(type, "TYPE") == 0 ||
|
strcmp(type, "TYPE") == 0 ||
|
||||||
strcmp(type, "FOREIGN TABLE") == 0 ||
|
strcmp(type, "FOREIGN TABLE") == 0 ||
|
||||||
strcmp(type, "TEXT SEARCH DICTIONARY") == 0 ||
|
strcmp(type, "TEXT SEARCH DICTIONARY") == 0 ||
|
||||||
strcmp(type, "TEXT SEARCH CONFIGURATION") == 0)
|
strcmp(type, "TEXT SEARCH CONFIGURATION") == 0 ||
|
||||||
{
|
/* non-schema-specified objects */
|
||||||
appendPQExpBuffer(buf, "%s ", type);
|
strcmp(type, "DATABASE") == 0 ||
|
||||||
if (te->namespace && te->namespace[0]) /* is null pre-7.3 */
|
|
||||||
appendPQExpBuffer(buf, "%s.", fmtId(te->namespace));
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Pre-7.3 pg_dump would sometimes (not always) put a fmtId'd name
|
|
||||||
* into te->tag for an index. This check is heuristic, so make its
|
|
||||||
* scope as narrow as possible.
|
|
||||||
*/
|
|
||||||
if (AH->version < K_VERS_1_7 &&
|
|
||||||
te->tag[0] == '"' &&
|
|
||||||
te->tag[strlen(te->tag) - 1] == '"' &&
|
|
||||||
strcmp(type, "INDEX") == 0)
|
|
||||||
appendPQExpBuffer(buf, "%s", te->tag);
|
|
||||||
else
|
|
||||||
appendPQExpBuffer(buf, "%s", fmtId(te->tag));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* objects named by just a name */
|
|
||||||
if (strcmp(type, "DATABASE") == 0 ||
|
|
||||||
strcmp(type, "PROCEDURAL LANGUAGE") == 0 ||
|
strcmp(type, "PROCEDURAL LANGUAGE") == 0 ||
|
||||||
strcmp(type, "SCHEMA") == 0 ||
|
strcmp(type, "SCHEMA") == 0 ||
|
||||||
strcmp(type, "FOREIGN DATA WRAPPER") == 0 ||
|
strcmp(type, "FOREIGN DATA WRAPPER") == 0 ||
|
||||||
strcmp(type, "SERVER") == 0 ||
|
strcmp(type, "SERVER") == 0 ||
|
||||||
strcmp(type, "USER MAPPING") == 0)
|
strcmp(type, "USER MAPPING") == 0)
|
||||||
{
|
{
|
||||||
|
/* We already know that search_path was set properly */
|
||||||
appendPQExpBuffer(buf, "%s %s", type, fmtId(te->tag));
|
appendPQExpBuffer(buf, "%s %s", type, fmtId(te->tag));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue