]> git.ipfire.org Git - thirdparty/postgresql.git/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:25:07 +0000 (00:25 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 3 May 2006 00:25:07 +0000 (00:25 +0000)
commit478335a1be75c0d4bbf4e31e0cdfe36af8edf0be
tree920b812601d7367885ad989ae9a0cf638d72c3fe
parenta3fe5ed59451f31f309bd06624e9644170fc604c
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