nodeCustom.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* ------------------------------------------------------------------------
  2. *
  3. * nodeCustom.h
  4. *
  5. * prototypes for CustomScan nodes
  6. *
  7. * Portions Copyright (c) 1996-2016, 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. #include "nodes/extensible.h"
  17. /*
  18. * General executor code
  19. */
  20. extern CustomScanState *ExecInitCustomScan(CustomScan *custom_scan,
  21. EState *estate, int eflags);
  22. extern TupleTableSlot *ExecCustomScan(CustomScanState *node);
  23. extern void ExecEndCustomScan(CustomScanState *node);
  24. extern void ExecReScanCustomScan(CustomScanState *node);
  25. extern void ExecCustomMarkPos(CustomScanState *node);
  26. extern void ExecCustomRestrPos(CustomScanState *node);
  27. /*
  28. * Parallel execution support
  29. */
  30. extern void ExecCustomScanEstimate(CustomScanState *node,
  31. ParallelContext *pcxt);
  32. extern void ExecCustomScanInitializeDSM(CustomScanState *node,
  33. ParallelContext *pcxt);
  34. extern void ExecCustomScanInitializeWorker(CustomScanState *node,
  35. shm_toc *toc);
  36. #endif /* NODECUSTOM_H */