pgsql: Fix handling of changed-Param signaling for CteScan plan nodes. - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Fix handling of changed-Param signaling for CteScan plan nodes.
Date
Msg-id 20090706021604.0C65175331E@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/optimizer/plan:
        subselect.c (r1.150 -> r1.151)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c?r1=1.150&r2=1.151)
    pgsql/src/test/regress/expected:
        with.out (r1.10 -> r1.11)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/with.out?r1=1.10&r2=1.11)
    pgsql/src/test/regress/sql:
        with.sql (r1.9 -> r1.10)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/with.sql?r1=1.9&r2=1.10)

pgsql-committers by date:

Previous
From: dim@pgfoundry.org (User Dim)
Date:
Subject: preprepare - preprepare: Complete support for at_init preparing in 8.5,
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix handling of changed-Param signaling for CteScan plan nodes.