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

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-01-23T15:53:41Z
Lists: pgsql-hackers
Hi

Last time I wrote new tests for session variables.

One is

create variable :"DBNAME".public.var as int;

On platform with enabled WRITE_READ_PARSE_PLAN_TREES I got warning

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

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

Is it a known issue?

Regards

Pavel

Commits

  1. Remove special outfuncs/readfuncs handling of RangeVar.catalogname.