Re: sqlsmith: ERROR: XX000: bogus varno: 2

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: sqlsmith: ERROR: XX000: bogus varno: 2
Date: 2021-12-19 21:17:16
Message-ID: 2209221.1639948636@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> I reduced the problematic query to this.
> SELECT 1 FROM pg_rewrite WHERE
> pg_get_function_arg_default(ev_class, 1) !~~
> pg_get_expr(ev_qual, ev_class, false);

Or more simply,

regression=# select pg_get_expr(ev_qual, ev_class, false) from pg_rewrite where rulename = 'pg_settings_u';
ERROR: bogus varno: 2

I don't see anything particularly surprising here. pg_get_expr is only
able to cope with expression trees over a single relation, but ON UPDATE
rules can refer to both OLD and NEW relations. Maybe we could make the
error message more friendly, but there's not much else to be done,
I think.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Corey Huinker 2021-12-19 22:34:02 Re: Getting rid of regression test input/ and output/ files
Previous Message Tom Lane 2021-12-19 21:08:07 Re: Getting rid of regression test input/ and output/ files