]> 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:03 +0000 (02:16 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 6 Jul 2009 02:16:03 +0000 (02:16 +0000)
commit9298d2ff3913de89b58065f7a444cba48e9c5d93
tree8283a93655b570dd63c2a7248927fc7b54c8aa3e
parentf39df967e930be301f976a537628a5788867e8a1
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