Thread: pgsql: Change the planner to allow indexscan qualification clauses to
pgsql: Change the planner to allow indexscan qualification clauses to
From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message: ----------- Change the planner to allow indexscan qualification clauses to use nonconsecutive columns of a multicolumn index, as per discussion around mid-May (pghackers thread "Best way to scan on-disk bitmaps"). This turns out to require only minimal changes in btree, and so far as I can see none at all in GiST. btcostestimate did need some work, but its original assumption that index selectivity == heap selectivity was quite bogus even before this. Modified Files: -------------- pgsql/doc/src/sgml: catalogs.sgml (r2.102 -> r2.103) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml.diff?r1=2.102&r2=2.103) indexam.sgml (r2.5 -> r2.6) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indexam.sgml.diff?r1=2.5&r2=2.6) pgsql/src/backend/access/index: indexam.c (r1.82 -> r1.83) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c.diff?r1=1.82&r2=1.83) pgsql/src/backend/access/nbtree: nbtsearch.c (r1.91 -> r1.92) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtsearch.c.diff?r1=1.91&r2=1.92) nbtutils.c (r1.62 -> r1.63) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtutils.c.diff?r1=1.62&r2=1.63) pgsql/src/backend/optimizer/path: indxpath.c (r1.183 -> r1.184) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.183&r2=1.184) pgsql/src/backend/optimizer/util: plancat.c (r1.111 -> r1.112) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.111&r2=1.112) pgsql/src/backend/utils/adt: selfuncs.c (r1.181 -> r1.182) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.181&r2=1.182) pgsql/src/include/access: genam.h (r1.51 -> r1.52) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/genam.h.diff?r1=1.51&r2=1.52) pgsql/src/include/catalog: catversion.h (r1.274 -> r1.275) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.274&r2=1.275) pg_am.h (r1.33 -> r1.34) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_am.h.diff?r1=1.33&r2=1.34) pgsql/src/include/nodes: relation.h (r1.114 -> r1.115) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.114&r2=1.115)