Re: WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree
Date: 2023-01-23 16:31:44
Message-ID: 1664098.1674491504@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2023-01-23 16:34:32 Re: Non-superuser subscription owners
Previous Message Dean Rasheed 2023-01-23 16:22:35 Re: Non-decimal integer literals