pgsql: Fix estimate_num_groups() to not fail on PlaceHolderVars, per

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix estimate_num_groups() to not fail on PlaceHolderVars, per
Date: 2009-04-19 19:46:33
Message-ID: 20090419194633.A3BDB7540E2@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix estimate_num_groups() to not fail on PlaceHolderVars, per report from
Stefan Kaltenbrunner. The most reasonable behavior (at least for the near
term) seems to be to ignore the PlaceHolderVar and examine its argument
instead. In support of this, change the API of pull_var_clause() to allow
callers to request recursion into PlaceHolderVars. Currently
estimate_num_groups() is the only customer for that behavior, but where
there's one there may be others.

Modified Files:
--------------
pgsql/src/backend/catalog:
heap.c (r1.352 -> r1.353)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.352&r2=1.353)
pgsql/src/backend/optimizer/path:
allpaths.c (r1.181 -> r1.182)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c?r1=1.181&r2=1.182)
equivclass.c (r1.17 -> r1.18)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/equivclass.c?r1=1.17&r2=1.18)
pgsql/src/backend/optimizer/plan:
createplan.c (r1.257 -> r1.258)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.257&r2=1.258)
initsplan.c (r1.150 -> r1.151)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/initsplan.c?r1=1.150&r2=1.151)
planner.c (r1.253 -> r1.254)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c?r1=1.253&r2=1.254)
pgsql/src/backend/optimizer/prep:
preptlist.c (r1.95 -> r1.96)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/prep/preptlist.c?r1=1.95&r2=1.96)
pgsql/src/backend/optimizer/util:
placeholder.c (r1.3 -> r1.4)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/placeholder.c?r1=1.3&r2=1.4)
tlist.c (r1.85 -> r1.86)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/tlist.c?r1=1.85&r2=1.86)
var.c (r1.84 -> r1.85)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/var.c?r1=1.84&r2=1.85)
pgsql/src/backend/utils/adt:
selfuncs.c (r1.259 -> r1.260)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c?r1=1.259&r2=1.260)
pgsql/src/include/optimizer:
var.h (r1.40 -> r1.41)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/var.h?r1=1.40&r2=1.41)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2009-04-19 20:36:06 pgsql: Fix textsearch documentation examples to not recommend
Previous Message Tom Lane 2009-04-19 18:52:58 pgsql: Revise plpgsql's scanner to process comments and string literals