pgsql: pg_get_viewdef() and lateral references in COLUMNS of GRAPH_TABL

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pg_get_viewdef() and lateral references in COLUMNS of GRAPH_TABL
Date: 2026-04-24 07:17:43
Message-ID: E1wGAnH-002TIZ-0J@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pg_get_viewdef() and lateral references in COLUMNS of GRAPH_TABLE

Expressions in GRAPH_TABLE COLUMNS list may have lateral references.
get_rule_expr() requires lateral namespaces to deparse such
references. get_from_clause_item() does not pass them when processing
the expressions in COLUMNS list causing ERROR "bogus varlevelsup: 0
offset 0". Fix get_from_clause_item() to pass input deparse_context
containing lateral namespaces to get_rule_expr() instead of the dummy
context.

Author: Satyanarayana Narlapuram <satyanarlapuram(at)gmail(dot)com>
Reviewed-by: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
Discussion: https://www.postgresql.org/message-id/flat/CAHg%2BQDcLVa2iBnggkHxY4itZbXtDMfsYHEjnCUYe9hNbnxDi-w%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9d2979dd6856e160f35544d79eb11f2c68c30985

Modified Files
--------------
src/backend/utils/adt/ruleutils.c | 10 ++--------
src/test/regress/expected/graph_table.out | 26 ++++++++++++++++++--------
src/test/regress/sql/graph_table.sql | 12 ++++++++++--
3 files changed, 30 insertions(+), 18 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2026-04-24 07:52:14 pgsql: meson: Differentiate top-level and custom targets
Previous Message Peter Eisentraut 2026-04-24 06:49:16 pgsql: Fix collation of expressions in GRAPH_TABLE COLUMNS clause