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

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

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
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)