pgsql: Fix inability to reference CYCLE column from inside its CTE. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix inability to reference CYCLE column from inside its CTE.
Date
Msg-id E1p6F7h-003vcd-LM@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix inability to reference CYCLE column from inside its CTE.

Such references failed with "cache lookup failed for type 0"
because we didn't resolve the type of the CYCLE column until after
analyzing the CTE's query.  We can just move that processing
to before the recursive parse_sub_analyze call, though.

While here, invent a couple of local variables to make this
code less egregiously wider-than-80-columns.

Per bug #17723 from Vik Fearing.  Back-patch to v14 where
the CYCLE feature was added.

Discussion: https://postgr.es/m/17723-2c4985ff111e7bba@postgresql.org

Branch
------
REL_14_STABLE

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

Modified Files
--------------
src/backend/parser/parse_cte.c     | 170 +++++++++++++++++++++----------------
src/test/regress/expected/with.out |  23 +++++
src/test/regress/sql/with.sql      |   9 ++
3 files changed, 129 insertions(+), 73 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: pg_upgrade: Make testing different transfer modes easier
Next
From: Tom Lane
Date:
Subject: pgsql: Doc: update pg_list.h header comments to include XidLists.