codekingpro/portable-devtools
115k
1/* ------------------------------------------------------------------------2 *3 * nodeCustom.h4 *5 * prototypes for CustomScan nodes6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * ------------------------------------------------------------------------11 */12#ifndef NODECUSTOM_H13#define NODECUSTOM_H14 15#include "access/parallel.h"16#include "nodes/execnodes.h"17 18/*19 * General executor code20 */21extern CustomScanState *ExecInitCustomScan(CustomScan *cscan,22 EState *estate, int eflags);23extern void ExecEndCustomScan(CustomScanState *node);24 25extern void ExecReScanCustomScan(CustomScanState *node);26extern void ExecCustomMarkPos(CustomScanState *node);27extern void ExecCustomRestrPos(CustomScanState *node);28 29/*30 * Parallel execution support31 */32extern void ExecCustomScanEstimate(CustomScanState *node,33 ParallelContext *pcxt);34extern void ExecCustomScanInitializeDSM(CustomScanState *node,35 ParallelContext *pcxt);36extern void ExecCustomScanReInitializeDSM(CustomScanState *node,37 ParallelContext *pcxt);38extern void ExecCustomScanInitializeWorker(CustomScanState *node,39 ParallelWorkerContext *pwcxt);40extern void ExecShutdownCustomScan(CustomScanState *node);41 42#endif /* NODECUSTOM_H */43 