From: | Richard Guo <rguo(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Expand virtual generated columns before sublink pull-up |
Date: | 2025-07-22 02:23:08 |
Message-ID: | E1ue2eq-0007MI-02@gemulon.postgresql.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Expand virtual generated columns before sublink pull-up
Currently, we expand virtual generated columns after we have pulled up
any SubLinks within the query's quals. This ensures that the virtual
generated column references within SubLinks that should be transformed
into joins are correctly expanded. This approach works well and has
posed no issues.
In an upcoming patch, we plan to centralize the collection of catalog
information needed early in the planner. This will help avoid
repeated table_open/table_close calls for relations in the rangetable.
Since this information is required during sublink pull-up, we are
moving the expansion of virtual generated columns to occur beforehand.
To achieve this, if any EXISTS SubLinks can be pulled up, their
rangetables are processed just before pulling them up.
Author: Richard Guo <guofenglinux(at)gmail(dot)com>
Reviewed-by: Robert Haas <robertmhaas(at)gmail(dot)com>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://postgr.es/m/CAMbWs4-bFJ1At4btk5wqbezdu8PLtQ3zv-aiaY3ry9Ymm=jgFQ@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/e0d05295268e3811e6743403cb779f21d1662426
Modified Files
--------------
src/backend/optimizer/plan/planner.c | 17 ++++++++--------
src/backend/optimizer/plan/subselect.c | 27 +++++++++++++++++++++++++
src/backend/optimizer/prep/prepjointree.c | 20 ++++++++----------
src/include/optimizer/prep.h | 2 +-
src/test/regress/expected/generated_virtual.out | 22 ++++++++++++++++++++
src/test/regress/sql/generated_virtual.sql | 9 +++++++++
6 files changed, 76 insertions(+), 21 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2025-07-22 05:00:43 | pgsql: ecpg: Fix NULL pointer dereference during connection lookup |
Previous Message | Christoph Berg | 2025-07-21 20:52:12 | Re: pgsql: Introduce pg_shmem_allocations_numa view |