pgsql: Fix estimate_num_groups() to not fail on PlaceHolderVars, per
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Fix estimate_num_groups() to not fail on PlaceHolderVars, per |
Дата | |
Msg-id | 20090419194633.A3BDB7540E2@cvs.postgresql.org обсуждение исходный текст |
Список | 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)
В списке pgsql-committers по дате отправления: