Fix an oversight I made in a cleanup patch over a year ago:
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 1 Apr 2008 00:48:44 +0000 (00:48 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 1 Apr 2008 00:48:44 +0000 (00:48 +0000)
commite0a83af855e52963aa932abd67aa263a0ad1773c
tree947ae58ff9f1720ee4546550858a598cdbddbe40
parent90b610e7b4144c135da2d12308b20f130bf855e2
Fix an oversight I made in a cleanup patch over a year ago:
eval_const_expressions needs to be passed the PlannerInfo ("root") structure,
because in some cases we want it to substitute values for Param nodes.
(So "constant" is not so constant as all that ...)  This mistake partially
disabled optimization of unnamed extended-Query statements in 8.3: in
particular the LIKE-to-indexscan optimization would never be applied if the
LIKE pattern was passed as a parameter, and constraint exclusion depending
on a parameter value didn't work either.
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/plancat.c
src/backend/utils/cache/relcache.c
src/include/optimizer/clauses.h
src/include/optimizer/plancat.h