From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Justin Pryzby <pryzby(at)telsasoft(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: sqlsmith: ERROR: XX000: bogus varno: 2 |
Date: | 2021-12-20 16:25:55 |
Message-ID: | 2445883.1640017555@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Sun, Dec 19, 2021 at 4:17 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> 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.
> +1 for making the error message more friendly.
The problem is that the spot where it's thrown doesn't have a lot of
context. We can fix that by having pg_get_expr itself check for
out-of-spec Vars before starting the recursion, which adds a bit of
overhead but I don't think we're terribly concerned about that.
I figured this would be just a quick hack in ruleutils.c, but was
dismayed to find the regression tests falling over, because some
bozo neglected to teach nodeFuncs.c about partition expressions.
It might be a good idea to back-patch that part, before we find
some other place that fails.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
check-for-bogus-vars.patch | text/x-diff | 2.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2021-12-20 16:40:14 | Re: sequences vs. synchronous replication |
Previous Message | Pavel Borisov | 2021-12-20 15:37:35 | Re: [PATCH] Improve amcheck to also check UNIQUE constraint in btree index. |