Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
> After some investigation, I found a problem in the RangeVar node.
> The field "catalogname" is setted to NULL in _readRangeVar, but it is
> compared in _equalRangeVar function.
> I thought so it is problem in my patch, but it looks like generic issue:
> create table postgres.public.foo(a int);
> WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree
> CREATE TABLE
Heh. Probably we should just drop that special treatment of the
catalogname field --- that was always premature optimization,
given that (I think) we don't ever store RangeVar in the catalogs.
The alternative would be to also lobotomize comparisons of RangeVars
by marking the field equal_ignore, but what's the point?
regards, tom lane