1 /*------------------------------------------------------------------------- 2 * 3 * nodeIndexonlyscan.h 4 * 5 * 6 * 7 * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group 8 * Portions Copyright (c) 1994, Regents of the University of California 9 * 10 * src/include/executor/nodeIndexonlyscan.h 11 * 12 *------------------------------------------------------------------------- 13 */ 14 #ifndef NODEINDEXONLYSCAN_H 15 #define NODEINDEXONLYSCAN_H 16 17 #include "access/parallel.h" 18 #include "nodes/execnodes.h" 19 20 extern IndexOnlyScanState *ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags); 21 extern void ExecEndIndexOnlyScan(IndexOnlyScanState *node); 22 extern void ExecIndexOnlyMarkPos(IndexOnlyScanState *node); 23 extern void ExecIndexOnlyRestrPos(IndexOnlyScanState *node); 24 extern void ExecReScanIndexOnlyScan(IndexOnlyScanState *node); 25 26 /* Support functions for parallel index-only scans */ 27 extern void ExecIndexOnlyScanEstimate(IndexOnlyScanState *node, 28 ParallelContext *pcxt); 29 extern void ExecIndexOnlyScanInitializeDSM(IndexOnlyScanState *node, 30 ParallelContext *pcxt); 31 extern void ExecIndexOnlyScanReInitializeDSM(IndexOnlyScanState *node, 32 ParallelContext *pcxt); 33 extern void ExecIndexOnlyScanInitializeWorker(IndexOnlyScanState *node, 34 ParallelWorkerContext *pwcxt); 35 36 #endif /* NODEINDEXONLYSCAN_H */ 37