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)