2
0

nodeIndexonlyscan.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*-------------------------------------------------------------------------
  2. *
  3. * nodeIndexonlyscan.h
  4. *
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2022, 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. #include "access/parallel.h"
  17. #include "nodes/execnodes.h"
  18. extern IndexOnlyScanState *ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags);
  19. extern void ExecEndIndexOnlyScan(IndexOnlyScanState *node);
  20. extern void ExecIndexOnlyMarkPos(IndexOnlyScanState *node);
  21. extern void ExecIndexOnlyRestrPos(IndexOnlyScanState *node);
  22. extern void ExecReScanIndexOnlyScan(IndexOnlyScanState *node);
  23. /* Support functions for parallel index-only scans */
  24. extern void ExecIndexOnlyScanEstimate(IndexOnlyScanState *node,
  25. ParallelContext *pcxt);
  26. extern void ExecIndexOnlyScanInitializeDSM(IndexOnlyScanState *node,
  27. ParallelContext *pcxt);
  28. extern void ExecIndexOnlyScanReInitializeDSM(IndexOnlyScanState *node,
  29. ParallelContext *pcxt);
  30. extern void ExecIndexOnlyScanInitializeWorker(IndexOnlyScanState *node,
  31. ParallelWorkerContext *pwcxt);
  32. #endif /* NODEINDEXONLYSCAN_H */