On Fri, Aug 9, 2013 at 12:53:20PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > On Fri, Aug 9, 2013 at 01:48:43AM -0400, Tom Lane wrote:
> >> The practical difficulties involved can be seen by reading the comments
> >> and code for _getObjectDescription().
>
> > Yes, I looked at that. Seems _getObjectDescription() is only called
> > from _printTocEntry(), and that function has a call to
> > _selectOutputSchema() at the top, so we already know we have search_path
> > set to the proper schema.
>
> > The attached patch removes the unnecessary schema qualification for
> > ALTER OWNER, and the attached dump file show a two-schema dump that
> > restores just fine.
>
> This really requires more than no attention to the comments, especially
> since you just removed the only apparent reason for _getObjectDescription
> to make a distinction between objects whose name includes a schema and
> those that don't.
I am confused. Are you saying I didn't read the comments, or that I can
now merge the schema-qualified and non-schema-qualified object sections?
Also, this seems like dead code as there is no test for "INDEX" in the
if() block it exists in:
/* * Pre-7.3 pg_dump would sometimes (not always) put a fmtId'd name * into te->tag for an index.
Thischeck 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
Please advise.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +