24 #define EXTNODENAME_MAX_LEN 64
81 #define CUSTOMPATH_SUPPORT_BACKWARD_SCAN 0x0001
82 #define CUSTOMPATH_SUPPORT_MARK_RESTORE 0x0002
void(* nodeCopy)(struct ExtensibleNode *newnode, const struct ExtensibleNode *oldnode)
bool(* nodeEqual)(const struct ExtensibleNode *a, const struct ExtensibleNode *b)
void RegisterCustomScanMethods(const CustomScanMethods *methods)
void(* ExplainCustomScan)(CustomScanState *node, List *ancestors, ExplainState *es)
void(* ReScanCustomScan)(CustomScanState *node)
Size(* EstimateDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt)
struct CustomPathMethods CustomPathMethods
void(* MarkPosCustomScan)(CustomScanState *node)
void(* EndCustomScan)(CustomScanState *node)
void(* BeginCustomScan)(CustomScanState *node, EState *estate, int eflags)
void RegisterExtensibleNodeMethods(const ExtensibleNodeMethods *method)
const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *name, bool missing_ok)
struct ExtensibleNodeMethods ExtensibleNodeMethods
void(* nodeRead)(struct ExtensibleNode *node)
struct ExtensibleNode ExtensibleNode
struct CustomExecMethods CustomExecMethods
void(* nodeOut)(struct StringInfoData *str, const struct ExtensibleNode *node)
const CustomScanMethods * GetCustomScanMethods(const char *CustomName, bool missing_ok)
void(* InitializeDSMCustomScan)(CustomScanState *node, ParallelContext *pcxt, void *coordinate)
void(* RestrPosCustomScan)(CustomScanState *node)
struct CustomScanMethods CustomScanMethods
void(* InitializeWorkerCustomScan)(CustomScanState *node, shm_toc *toc, void *coordinate)