Обсуждение: pgsql: First cut at planner support for bitmap index scans.

Поиск
Список
Период
Сортировка

pgsql: First cut at planner support for bitmap index scans.

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
First cut at planner support for bitmap index scans.  Lots to do yet,
but the code is basically working.  Along the way, rewrite the entire
approach to processing OR index conditions, and make it work in join
cases for the first time ever.  orindxpath.c is now basically obsolete,
but I left it in for the time being to allow easy comparison testing
against the old implementation.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.133 -> r1.134)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.133&r2=1.134)
    pgsql/src/backend/executor:
        nodeBitmapIndexscan.c (r1.2 -> r1.3)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapIndexscan.c.diff?r1=1.2&r2=1.3)
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.144 -> r1.145)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.144&r2=1.145)
        indxpath.c (r1.175 -> r1.176)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.175&r2=1.176)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.182 -> r1.183)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.182&r2=1.183)
        planagg.c (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planagg.c.diff?r1=1.3&r2=1.4)
        setrefs.c (r1.107 -> r1.108)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c.diff?r1=1.107&r2=1.108)
    pgsql/src/backend/optimizer/util:
        pathnode.c (r1.118 -> r1.119)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/pathnode.c.diff?r1=1.118&r2=1.119)
        plancat.c (r1.105 -> r1.106)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.105&r2=1.106)
        relnode.c (r1.64 -> r1.65)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/relnode.c.diff?r1=1.64&r2=1.65)
        restrictinfo.c (r1.32 -> r1.33)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.32&r2=1.33)
    pgsql/src/include/nodes:
        relation.h (r1.107 -> r1.108)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.107&r2=1.108)
    pgsql/src/include/optimizer:
        cost.h (r1.66 -> r1.67)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/cost.h.diff?r1=1.66&r2=1.67)
        pathnode.h (r1.59 -> r1.60)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/pathnode.h.diff?r1=1.59&r2=1.60)
        paths.h (r1.81 -> r1.82)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/paths.h.diff?r1=1.81&r2=1.82)
        restrictinfo.h (r1.26 -> r1.27)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/restrictinfo.h.diff?r1=1.26&r2=1.27)
    pgsql/src/test/regress/expected:
        alter_table.out (r1.87 -> r1.88)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/alter_table.out.diff?r1=1.87&r2=1.88)
        arrays.out (r1.24 -> r1.25)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/arrays.out.diff?r1=1.24&r2=1.25)
        stats.out (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/stats.out.diff?r1=1.3&r2=1.4)
    pgsql/src/test/regress/sql:
        alter_table.sql (r1.50 -> r1.51)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/alter_table.sql.diff?r1=1.50&r2=1.51)
        arrays.sql (r1.19 -> r1.20)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/arrays.sql.diff?r1=1.19&r2=1.20)
        stats.sql (r1.1 -> r1.2)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/stats.sql.diff?r1=1.1&r2=1.2)