2
0

nodeCustom.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* ------------------------------------------------------------------------
  2. *
  3. * nodeCustom.h
  4. *
  5. * prototypes for CustomScan nodes
  6. *
  7. * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
  8. * Portions Copyright (c) 1994, Regents of the University of California
  9. *
  10. * ------------------------------------------------------------------------
  11. */
  12. #ifndef NODECUSTOM_H
  13. #define NODECUSTOM_H
  14. #include "access/parallel.h"
  15. #include "nodes/execnodes.h"
  16. /*
  17. * General executor code
  18. */
  19. extern CustomScanState *ExecInitCustomScan(CustomScan *cscan,
  20. EState *estate, int eflags);
  21. extern void ExecEndCustomScan(CustomScanState *node);
  22. extern void ExecReScanCustomScan(CustomScanState *node);
  23. extern void ExecCustomMarkPos(CustomScanState *node);
  24. extern void ExecCustomRestrPos(CustomScanState *node);
  25. /*
  26. * Parallel execution support
  27. */
  28. extern void ExecCustomScanEstimate(CustomScanState *node,
  29. ParallelContext *pcxt);
  30. extern void ExecCustomScanInitializeDSM(CustomScanState *node,
  31. ParallelContext *pcxt);
  32. extern void ExecCustomScanReInitializeDSM(CustomScanState *node,
  33. ParallelContext *pcxt);
  34. extern void ExecCustomScanInitializeWorker(CustomScanState *node,
  35. ParallelWorkerContext *pwcxt);
  36. extern void ExecShutdownCustomScan(CustomScanState *node);
  37. #endif /* NODECUSTOM_H */