]> granicus.if.org Git - postgresql/commit
Fix handling of changed-Param signaling for CteScan plan nodes. We were using
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 6 Jul 2009 02:16:14 +0000 (02:16 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 6 Jul 2009 02:16:14 +0000 (02:16 +0000)
commit7b99b2aede7f177e7186b8dc71822586a2d513a9
tree7fc333e58aba85fb94f58efd1bce1c042943fc07
parent3db8fa106e6f8f0aedcaa801df646d5003175b7b
Fix handling of changed-Param signaling for CteScan plan nodes.  We were using
the "cteParam" as a proxy for the possibility that the underlying CTE plan
depends on outer-level variables or Params, but that doesn't work very well
because it sometimes causes calling subqueries to be treated as SubPlans when
they could be InitPlans.  This is inefficient and also causes the outright
failure exhibited in bug #4902.  Instead, leave the cteParam out of it and
copy the underlying CTE plan's extParams directly.  Per bug #4902 from
Marko Tiikkaja.
src/backend/optimizer/plan/subselect.c
src/test/regress/expected/with.out
src/test/regress/sql/with.sql