]> granicus.if.org Git - postgresql/commit
Add optimizer and executor support for parallel index scans.
authorRobert Haas <rhaas@postgresql.org>
Wed, 15 Feb 2017 18:53:24 +0000 (13:53 -0500)
committerRobert Haas <rhaas@postgresql.org>
Wed, 15 Feb 2017 18:53:24 +0000 (13:53 -0500)
commit5262f7a4fc44f651241d2ff1fa688dd664a34874
tree8bccf6ebd560f5e081cbba37efa0ecb40d017fd2
parent51ee6f3160d2e1515ed6197594bda67eb99dc2cc
Add optimizer and executor support for parallel index scans.

In combination with 569174f1be92be93f5366212cc46960d28a5c5cd, which
taught the btree AM how to perform parallel index scans, this allows
parallel index scan plans on btree indexes.  This infrastructure
should be general enough to support parallel index scans for other
index AMs as well, if someone updates them to support parallel
scans.

Amit Kapila, reviewed and tested by Anastasia Lubennikova, Tushar
Ahuja, and Haribabu Kommi, and me.
29 files changed:
contrib/bloom/blcost.c
contrib/bloom/bloom.h
contrib/bloom/blutils.c
doc/src/sgml/indexam.sgml
src/backend/access/brin/brin.c
src/backend/access/gin/ginutil.c
src/backend/access/gist/gist.c
src/backend/access/hash/hash.c
src/backend/access/nbtree/nbtree.c
src/backend/access/spgist/spgutils.c
src/backend/executor/execParallel.c
src/backend/executor/nodeIndexscan.c
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/pathnode.c
src/backend/optimizer/util/plancat.c
src/backend/utils/adt/selfuncs.c
src/include/access/amapi.h
src/include/executor/nodeIndexscan.h
src/include/nodes/execnodes.h
src/include/nodes/relation.h
src/include/optimizer/cost.h
src/include/optimizer/pathnode.h
src/include/optimizer/paths.h
src/include/utils/index_selfuncs.h
src/test/regress/expected/select_parallel.out
src/test/regress/sql/select_parallel.sql