pgsql: Fix an oversight I made in a cleanup patch over a year ago:

Started by Tom Laneabout 18 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Log Message:
-----------
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.

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
pgsql/src/backend/optimizer/path:
allpaths.c (r1.168.2.1 -> r1.168.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.168.2.1&r2=1.168.2.2)
pgsql/src/backend/optimizer/plan:
initsplan.c (r1.138 -> r1.138.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/initsplan.c?r1=1.138&r2=1.138.2.1)
planner.c (r1.226.2.2 -> r1.226.2.3)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c?r1=1.226.2.2&r2=1.226.2.3)
pgsql/src/backend/optimizer/util:
clauses.c (r1.254 -> r1.254.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c?r1=1.254&r2=1.254.2.1)
plancat.c (r1.140 -> r1.140.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c?r1=1.140&r2=1.140.2.1)
pgsql/src/backend/utils/cache:
relcache.c (r1.266.2.1 -> r1.266.2.2)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c?r1=1.266.2.1&r2=1.266.2.2)
pgsql/src/include/optimizer:
clauses.h (r1.88 -> r1.88.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/clauses.h?r1=1.88&r2=1.88.2.1)
plancat.h (r1.47 -> r1.47.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/plancat.h?r1=1.47&r2=1.47.2.1)