Re: posgres 12 bug (partitioned table) - Mailing list pgsql-bugs

From Tom Lane
Subject Re: posgres 12 bug (partitioned table)
Date
Msg-id 1194023.1619118599@sss.pgh.pa.us
Whole thread Raw
In response to Re: posgres 12 bug (partitioned table)  (Andres Freund <andres@anarazel.de>)
Responses Re: posgres 12 bug (partitioned table)  (Andres Freund <andres@anarazel.de>)
List pgsql-bugs
Andres Freund <andres@anarazel.de> writes:
> On 2021-04-22 14:37:26 -0400, Tom Lane wrote:
>> OK, I could work with that.  Shall we spell the error message the
>> same as if it really were a virtual slot, or does it need to be
>> different to avoid confusion?

> Hm. Seems like it'd be better to have a distinct error message? Feels
> like it'll often indicate separate issues whether a non-materialized
> heap slot or a virtual slot has its system columns accessed.

After thinking about it for a bit, I'm inclined to promote this to
a user-facing error, and have all the slot types report

    ereport(ERROR,
            (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
             errmsg("cannot retrieve a system column in this context")));

which is at least somewhat intelligible to end users.  A developer
trying to figure out why it happened would resort to \errverbose or
more likely gdb in any case, so the lack of specificity doesn't
seem like a problem.

> Not entirely clear to me how we'd track whether we have valid system
> column data or not once materialized - which I think is why we
> historically had the cases where we returned bogus values.

Right, but with this fix we won't need to materialize.

            regards, tom lane



pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: posgres 12 bug (partitioned table)
Next
From: Andres Freund
Date:
Subject: Re: posgres 12 bug (partitioned table)