]> granicus.if.org Git - postgresql/commit
Fix calculation of plan node extParams to account for the possibility that one
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 3 May 2006 00:24:56 +0000 (00:24 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 3 May 2006 00:24:56 +0000 (00:24 +0000)
commitf4923880b39ad8f671b3fa172d57e3a0ad1b5b0c
tree64ae123d89eb71a9815ac95dbea2a09a2c981a48
parente57345975cf8ddbf044bfd164359e74e1a9bcab2
Fix calculation of plan node extParams to account for the possibility that one
initPlan sets a parameter for another.  This could not (I think) happen before
8.1, but it's possible now because the initPlans generated by MIN/MAX
optimization might themselves use initPlans.  We attach those initPlans as
siblings of the MIN/MAX ones, not children, to avoid duplicate computation
when multiple MIN/MAX aggregates are present; so this leads to the case of an
initPlan needing the result of a sibling initPlan, which is not possible with
ordinary query nesting.  Hadn't been noticed because in most contexts having
too much stuff listed in extParam is fairly harmless.  Fixes "plan should not
reference subplan's variable" bug reported by Catalin Pitis.
src/backend/optimizer/plan/subselect.c