Re: More speedups for tuple deformation

From: jian he <jian(dot)universality(at)gmail(dot)com>
To: Junwang Zhao <zhjwpku(at)gmail(dot)com>
Cc: David Rowley <dgrowleyml(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, Tender Wang <tndrwang(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, John Naylor <johncnaylorls(at)gmail(dot)com>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: More speedups for tuple deformation
Date: 2026-04-01 13:19:48
Message-ID: CACJufxHzTY2ZWPy7RNCY2S-Z2A+8j7CqhKbdKrzFUhykQiTfVA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Apr 1, 2026 at 1:13 PM Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
>
> The parser transforms '' (or any cstring) into Const with UNKNOWNOID.
> When building the tuple descriptor in ExecTypeFromExprList,
> TupleDescInitEntry uses UNKNOWNOID to populate the attribute entry,
> thus the failure in nocachegetattr.
>
> Therefore, the assertion should be addressed by removing the pg_assume,
> since this case can occur.
>
> Just trying to learn through analysis, might be incorrect. Let's wait for
> David's fix.
>
HI.

You can also trigger it via:

SELECT row_to_json(('', ''));

In transformRowExpr, we can coerce these UNKNOWNOID Const to TEXTOID Const.
But I guess it's harder to guarantee that comment "cstrings don't
exist in heap tuples." in nocachegetattr to be true.

--
jian
https://www.enterprisedb.com/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Antonin Houska 2026-04-01 13:20:44 Re: Adding REPACK [concurrently]
Previous Message Andres Freund 2026-04-01 13:19:34 Re: meson vs. llvm bitcode files