Обсуждение: pgsql: Remove support for OR'd indexscans internal to a single IndexScan

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

pgsql: Remove support for OR'd indexscans internal to a single IndexScan

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Remove support for OR'd indexscans internal to a single IndexScan plan
node, as this behavior is now better done as a bitmap OR indexscan.
This allows considerable simplification in nodeIndexscan.c itself as
well as several planner modules concerned with indexscan plan generation.
Also we can improve the sharing of code between regular and bitmap
indexscans, since they are now working with nigh-identical Plan nodes.

Modified Files:
--------------
    pgsql/src/backend/commands:
        explain.c (r1.134 -> r1.135)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.134&r2=1.135)
    pgsql/src/backend/executor:
        nodeBitmapIndexscan.c (r1.6 -> r1.7)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapIndexscan.c.diff?r1=1.6&r2=1.7)
        nodeIndexscan.c (r1.101 -> r1.102)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeIndexscan.c.diff?r1=1.101&r2=1.102)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.302 -> r1.303)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.302&r2=1.303)
        outfuncs.c (r1.249 -> r1.250)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.249&r2=1.250)
    pgsql/src/backend/optimizer/path:
        allpaths.c (r1.127 -> r1.128)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/allpaths.c.diff?r1=1.127&r2=1.128)
        indxpath.c (r1.177 -> r1.178)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/indxpath.c.diff?r1=1.177&r2=1.178)
        orindxpath.c (r1.68 -> r1.69)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/orindxpath.c.diff?r1=1.68&r2=1.69)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.184 -> r1.185)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c.diff?r1=1.184&r2=1.185)
        setrefs.c (r1.108 -> r1.109)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c.diff?r1=1.108&r2=1.109)
        subselect.c (r1.97 -> r1.98)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c.diff?r1=1.97&r2=1.98)
    pgsql/src/backend/optimizer/util:
        pathnode.c (r1.119 -> r1.120)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/pathnode.c.diff?r1=1.119&r2=1.120)
        restrictinfo.c (r1.33 -> r1.34)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.33&r2=1.34)
    pgsql/src/backend/utils/adt:
        selfuncs.c (r1.177 -> r1.178)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.177&r2=1.178)
    pgsql/src/include/executor:
        nodeIndexscan.h (r1.22 -> r1.23)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeIndexscan.h.diff?r1=1.22&r2=1.23)
    pgsql/src/include/nodes:
        execnodes.h (r1.128 -> r1.129)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.128&r2=1.129)
        plannodes.h (r1.78 -> r1.79)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h.diff?r1=1.78&r2=1.79)
        relation.h (r1.108 -> r1.109)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/relation.h.diff?r1=1.108&r2=1.109)
    pgsql/src/include/optimizer:
        paths.h (r1.82 -> r1.83)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/paths.h.diff?r1=1.82&r2=1.83)
        planmain.h (r1.82 -> r1.83)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h.diff?r1=1.82&r2=1.83)
        restrictinfo.h (r1.27 -> r1.28)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/restrictinfo.h.diff?r1=1.27&r2=1.28)