agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: David Rowley <drowley@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Update JIT tuple deforming code for virtual generated columns
Date: Fri, 19 Jun 2026 03:26:40 +0000
Message-ID: <E1waPsO-000wqi-0D@gemulon.postgresql.org> (raw)

Update JIT tuple deforming code for virtual generated columns

The JIT deforming code contains an optimization that determines which
columns are guaranteed to exist in the tuple.  That's used to allow
skipping of reading the tuple's natts when the code only needs to deform
attributes that are guaranteed to always exist in all tuples.  83ea6c540
missed updating this code to account for VIRTUAL generated columns.
These are stored as NULLs in the tuple, but may be defined as NOT NULL.
This could result in the code thinking more columns are guaranteed to
exist than actually do.

Author: David Rowley <dgrowleyml@gmail.com>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Backpatch-through: 18
Discussion: https://postgr.es/m/1151393.1781734980@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/dc5116780846951a409d788479a9e9fa6edd9f07

Modified Files
--------------
src/backend/jit/llvm/llvmjit_deform.c           | 36 ++++++++++++++++---------
src/test/regress/expected/generated_stored.out  | 14 ++++++++++
src/test/regress/expected/generated_virtual.out | 32 ++++++++++++++++++++++
src/test/regress/sql/generated_stored.sql       | 14 ++++++++++
src/test/regress/sql/generated_virtual.sql      | 15 +++++++++++
5 files changed, 99 insertions(+), 12 deletions(-)



view thread (2+ messages)  latest in thread

Message-ID: <E1waPsO-000wqi-0D@gemulon.postgresql.org>
Permalink:  ../E1waPsO-000wqi-0D@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1waPsO-000wqi-0D@gemulon.postgresql.org

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: drowley@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Update JIT tuple deforming code for virtual generated columns
  In-Reply-To: <E1waPsO-000wqi-0D@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox