mirror of
https://github.com/postgres/postgres.git
synced 2025-08-25 20:23:07 +03:00
Support parallel bitmap heap scans.
The index is scanned by a single process, but then all cooperating processes can iterate jointly over the resulting set of heap blocks. In the future, we might also want to support using a parallel bitmap index scan to set up for a parallel bitmap heap scan, but that's a job for another day. Dilip Kumar, with some corrections and cosmetic changes by me. 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, Thomas Munro, and me. Discussion: http://postgr.es/m/CAFiTN-uc4=0WxRGfCzs-xfkMYcSEWUC-Fon6thkJGjkh9i=13A@mail.gmail.com
This commit is contained in:
@@ -15,10 +15,17 @@
|
||||
#define NODEBITMAPHEAPSCAN_H
|
||||
|
||||
#include "nodes/execnodes.h"
|
||||
#include "access/parallel.h"
|
||||
|
||||
extern BitmapHeapScanState *ExecInitBitmapHeapScan(BitmapHeapScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecBitmapHeapScan(BitmapHeapScanState *node);
|
||||
extern void ExecEndBitmapHeapScan(BitmapHeapScanState *node);
|
||||
extern void ExecReScanBitmapHeapScan(BitmapHeapScanState *node);
|
||||
extern void ExecBitmapHeapEstimate(BitmapHeapScanState *node,
|
||||
ParallelContext *pcxt);
|
||||
extern void ExecBitmapHeapInitializeDSM(BitmapHeapScanState *node,
|
||||
ParallelContext *pcxt);
|
||||
extern void ExecBitmapHeapInitializeWorker(BitmapHeapScanState *node,
|
||||
shm_toc *toc);
|
||||
|
||||
#endif /* NODEBITMAPHEAPSCAN_H */
|
||||
|
Reference in New Issue
Block a user