]> granicus.if.org Git - postgresql/commit
tidbitmap: Support shared iteration.
authorRobert Haas <rhaas@postgresql.org>
Wed, 8 Mar 2017 13:02:03 +0000 (08:02 -0500)
committerRobert Haas <rhaas@postgresql.org>
Wed, 8 Mar 2017 13:09:38 +0000 (08:09 -0500)
commit98e6e89040a0534ca26914c66cae9dd49ef62ad9
treebbdb09553c7418c5c03eeec92849472cb42990fd
parentb7fa016d68b51bc385b75f9d5cffef79e5671981
tidbitmap: Support shared iteration.

When a shared iterator is used, each call to tbm_shared_iterate()
returns a result that has not yet been returned to any process
attached to the shared iterator.  In other words, each cooperating
processes gets a disjoint subset of the full result set, but all
results are returned exactly once.

This is infrastructure for parallel bitmap heap scan.

Dilip Kumar.  The larger patch set of which this is a part has been
reviewed and tested by (at least) Andres Freund, Amit Khandekar,
Tushar Ahuja, Rafia Sabih, Haribabu Kommi, and Thomas Munro.

Discussion: http://postgr.es/m/CAFiTN-uc4=0WxRGfCzs-xfkMYcSEWUC-Fon6thkJGjkh9i=13A@mail.gmail.com
doc/src/sgml/monitoring.sgml
src/backend/access/gin/ginget.c
src/backend/executor/nodeBitmapIndexscan.c
src/backend/executor/nodeBitmapOr.c
src/backend/nodes/tidbitmap.c
src/backend/storage/lmgr/lwlock.c
src/include/nodes/tidbitmap.h
src/include/storage/lwlock.h