mirror of https://github.com/citusdata/citus.git
Register citus custom scan nodes
parent
83c1143505
commit
16421f089f
|
@ -124,8 +124,20 @@ static CustomExecMethods CoordinatorInsertSelectCustomExecMethods = {
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RegisterCitusCustomScanMethods ets PostgreSQL know about
|
* Let PostgreSQL know about Citus' custom scan nodes.
|
||||||
* Citus' custom scan nodes.
|
*/
|
||||||
|
void
|
||||||
|
RegisterCitusCustomScanMethods(void)
|
||||||
|
{
|
||||||
|
RegisterCustomScanMethods(&RealTimeCustomScanMethods);
|
||||||
|
RegisterCustomScanMethods(&TaskTrackerCustomScanMethods);
|
||||||
|
RegisterCustomScanMethods(&RouterCustomScanMethods);
|
||||||
|
RegisterCustomScanMethods(&CoordinatorInsertSelectCustomScanMethods);
|
||||||
|
RegisterCustomScanMethods(&DelayedErrorCustomScanMethods);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
* RealTimeCreateScan creates the scan state for real-time executor queries.
|
* RealTimeCreateScan creates the scan state for real-time executor queries.
|
||||||
*/
|
*/
|
||||||
static Node *
|
static Node *
|
||||||
|
@ -269,6 +281,7 @@ CitusSelectBeginScan(CustomScanState *node, EState *estate, int eflags)
|
||||||
/* just an empty function */
|
/* just an empty function */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CitusEndScan is used to clean up tuple store of the given custom scan state.
|
* CitusEndScan is used to clean up tuple store of the given custom scan state.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -189,6 +189,9 @@ _PG_init(void)
|
||||||
/* make our additional node types known */
|
/* make our additional node types known */
|
||||||
RegisterNodes();
|
RegisterNodes();
|
||||||
|
|
||||||
|
/* make our custom scan nodes known */
|
||||||
|
RegisterCitusCustomScanMethods();
|
||||||
|
|
||||||
/* intercept planner */
|
/* intercept planner */
|
||||||
planner_hook = distributed_planner;
|
planner_hook = distributed_planner;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ extern CustomScanMethods CoordinatorInsertSelectCustomScanMethods;
|
||||||
extern CustomScanMethods DelayedErrorCustomScanMethods;
|
extern CustomScanMethods DelayedErrorCustomScanMethods;
|
||||||
|
|
||||||
|
|
||||||
/* common functions for different executors */
|
extern void RegisterCitusCustomScanMethods(void);
|
||||||
extern void CitusExplainScan(CustomScanState *node, List *ancestors, struct
|
extern void CitusExplainScan(CustomScanState *node, List *ancestors, struct
|
||||||
ExplainState *es);
|
ExplainState *es);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue