Log Message: ----------- Create hooks to let a loadable plugin monitor (or even replace) the planner and/or create plans for hypothetical situations; in particular, investigate plans that would be generated using hypothetical indexes. This is a heavily-rewritten version of the hooks proposed by Gurjeet Singh for his Index Advisor project. In this formulation, the index advisor can be entirely a loadable module instead of requiring a significant part to be in the core backend, and plans can be generated for hypothetical indexes without requiring the creation and rolling-back of system catalog entries. The index advisor patch as-submitted is not compatible with these hooks, but it needs significant work anyway due to other 8.2-to-8.3 planner changes. With these hooks in the core backend, development of the advisor can proceed as a pgfoundry project. Modified Files: -------------- pgsql/src/backend/commands: explain.c (r1.163 -> r1.164) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.163&r2=1.164) prepare.c (r1.75 -> r1.76) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c.diff?r1=1.75&r2=1.76) pgsql/src/backend/executor: nodeBitmapIndexscan.c (r1.22 -> r1.23) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapIndexscan.c.diff?r1=1.22&r2=1.23) nodeIndexscan.c (r1.121 -> r1.122) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeIndexscan.c.diff?r1=1.121&r2=1.122) pgsql/src/backend/optimizer/plan: planner.c (r1.219 -> r1.220) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c.diff?r1=1.219&r2=1.220) pgsql/src/backend/optimizer/util: plancat.c (r1.134 -> r1.135) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.134&r2=1.135) pgsql/src/include/commands: explain.h (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/explain.h.diff?r1=1.30&r2=1.31) pgsql/src/include/optimizer: plancat.h (r1.43 -> r1.44) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/plancat.h.diff?r1=1.43&r2=1.44) planner.h (r1.39 -> r1.40) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planner.h.diff?r1=1.39&r2=1.40)
pgsql-committers by date:
Соглашаюсь с условиями обработки персональных данных