mirror of
https://github.com/postgres/postgres.git
synced 2025-08-27 07:42:10 +03:00
Add optimizer and executor support for parallel index-only scans.
Commit 5262f7a4fc
added similar support
for parallel index scans; this extends that work to index-only scans.
As with parallel index scans, this requires support from the index AM,
so currently parallel index-only scans will only be possible for btree
indexes.
Rafia Sabih, reviewed and tested by Rahila Syed, Tushar Ahuja,
and Amit Kapila
Discussion: http://postgr.es/m/CAOGQiiPEAs4C=TBp0XShxBvnWXuzGL2u++Hm1=qnCpd6_Mf8Fw@mail.gmail.com
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
#define NODEINDEXONLYSCAN_H
|
||||
|
||||
#include "nodes/execnodes.h"
|
||||
#include "access/parallel.h"
|
||||
|
||||
extern IndexOnlyScanState *ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags);
|
||||
extern TupleTableSlot *ExecIndexOnlyScan(IndexOnlyScanState *node);
|
||||
@@ -23,4 +24,12 @@ extern void ExecIndexOnlyMarkPos(IndexOnlyScanState *node);
|
||||
extern void ExecIndexOnlyRestrPos(IndexOnlyScanState *node);
|
||||
extern void ExecReScanIndexOnlyScan(IndexOnlyScanState *node);
|
||||
|
||||
/* Support functions for parallel index-only scans */
|
||||
extern void ExecIndexOnlyScanEstimate(IndexOnlyScanState *node,
|
||||
ParallelContext *pcxt);
|
||||
extern void ExecIndexOnlyScanInitializeDSM(IndexOnlyScanState *node,
|
||||
ParallelContext *pcxt);
|
||||
extern void ExecIndexOnlyScanInitializeWorker(IndexOnlyScanState *node,
|
||||
shm_toc *toc);
|
||||
|
||||
#endif /* NODEINDEXONLYSCAN_H */
|
||||
|
Reference in New Issue
Block a user