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)