Обсуждение: pgsql: Fix planner bug with nested PlaceHolderVars in 9.2 (only).

Поиск
Список
Период
Сортировка

pgsql: Fix planner bug with nested PlaceHolderVars in 9.2 (only).

От
Tom Lane
Дата:
Fix planner bug with nested PlaceHolderVars in 9.2 (only).

Commit 9e7e29c75ad441450f9b8287bd51c13521641e3b fixed some problems with
LATERAL references in PlaceHolderVars, one of which was that "createplan.c
wasn't handling nested PlaceHolderVars properly".  I failed to see that
this problem might occur in older versions as well; but it can, as
demonstrated in bug #10587 from Geoff Speicher.  In this case the nesting
occurs due to push-down of PlaceHolderVar expressions into a parameterized
path.  So, back-patch the relevant changes from 9e7e29c75ad4 into 9.2 where
parameterized paths were introduced.  (Perhaps I'm still being too myopic,
but I'm hesitant to change older branches without some evidence that the
case can occur there.)

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/187ae17300776f48b2bd9d0737923b1bf70f606e

Modified Files
--------------
src/backend/nodes/equalfuncs.c          |   16 ++++---
src/backend/optimizer/plan/createplan.c |   39 ++++++++++++----
src/test/regress/expected/join.out      |   74 +++++++++++++++++++++++++++++++
src/test/regress/sql/join.sql           |   58 ++++++++++++++++++++++++
4 files changed, 172 insertions(+), 15 deletions(-)