pgsql: Avoid creating a RESULT RTE that's marked LATERAL. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid creating a RESULT RTE that's marked LATERAL.
Date
Msg-id E1m1uSQ-0000am-0S@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid creating a RESULT RTE that's marked LATERAL.

Commit 7266d0997 added code to pull up simple constant function
results, converting the RTE_FUNCTION RTE to a dummy RTE_RESULT
RTE since it no longer need be scanned.  But I forgot to clear
the LATERAL flag if the RTE has it set.  If the function reduced
to a constant, it surely contains no lateral references so this
simplification is logically OK.  It's needed because various other
places will Assert that RESULT RTEs aren't LATERAL.

Per bug #17097 from Yaoguang Chen.  Back-patch to v13 where the
faulty code came in.

Discussion: https://postgr.es/m/17097-3372ef9f798fc94f@postgresql.org

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/1d98fdaed89c00465ef68fa2804967ea27b03abc

Modified Files
--------------
src/backend/optimizer/prep/prepjointree.c | 5 ++++-
src/test/regress/expected/join.out        | 8 ++++++++
src/test/regress/sql/join.sql             | 3 +++
3 files changed, 15 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Update configure's probe for libldap to work with OpenLDAP 2.5.
Next
From: Tom Lane
Date:
Subject: pgsql: Un-break AIX build.