1 | /* ------------------------------------------------------------------------ |
2 | * |
3 | * nodeCustom.h |
4 | * |
5 | * prototypes for CustomScan nodes |
6 | * |
7 | * Portions Copyright (c) 1996-2019, 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 | |
15 | #include "access/parallel.h" |
16 | #include "nodes/execnodes.h" |
17 | |
18 | /* |
19 | * General executor code |
20 | */ |
21 | extern CustomScanState *ExecInitCustomScan(CustomScan *cscan, |
22 | EState *estate, int eflags); |
23 | extern void ExecEndCustomScan(CustomScanState *node); |
24 | |
25 | extern void ExecReScanCustomScan(CustomScanState *node); |
26 | extern void ExecCustomMarkPos(CustomScanState *node); |
27 | extern void ExecCustomRestrPos(CustomScanState *node); |
28 | |
29 | /* |
30 | * Parallel execution support |
31 | */ |
32 | extern void ExecCustomScanEstimate(CustomScanState *node, |
33 | ParallelContext *pcxt); |
34 | extern void ExecCustomScanInitializeDSM(CustomScanState *node, |
35 | ParallelContext *pcxt); |
36 | extern void ExecCustomScanReInitializeDSM(CustomScanState *node, |
37 | ParallelContext *pcxt); |
38 | extern void ExecCustomScanInitializeWorker(CustomScanState *node, |
39 | ParallelWorkerContext *pwcxt); |
40 | extern void ExecShutdownCustomScan(CustomScanState *node); |
41 | |
42 | #endif /* NODECUSTOM_H */ |
43 | |