diff --git a/src/backend/distributed/executor/multi_router_executor.c b/src/backend/distributed/executor/multi_router_executor.c index 9dbd053e0..3f052870b 100644 --- a/src/backend/distributed/executor/multi_router_executor.c +++ b/src/backend/distributed/executor/multi_router_executor.c @@ -80,7 +80,6 @@ bool AllModificationsCommutative = false; */ static HTAB *xactParticipantHash = NULL; static List *xactShardConnSetList = NIL; -static shmem_startup_hook_type prev_shmem_startup_hook = NULL; static bool subXactAbortAttempted = false; /* functions needed during start phase */ @@ -113,7 +112,6 @@ static void RecordShardIdParticipant(uint64 affectedShardId, NodeConnectionEntry *participantEntry); /* functions needed by callbacks and hooks */ -static void RegisterRouterExecutorXactCallbacks(void); static void RouterTransactionCallback(XactEvent event, void *arg); static void RouterSubtransactionCallback(SubXactEvent event, SubTransactionId subId, SubTransactionId parentSubid, void *arg); @@ -1202,32 +1200,13 @@ RouterExecutorEnd(QueryDesc *queryDesc) /* - * InstallRouterExecutorShmemHook simply installs a hook (intended to be called - * once during backend startup), which will itself register all the transaction - * callbacks needed by this executor. + * RegisterRouterExecutorXactCallbacks registers this executor's callbacks. */ void -InstallRouterExecutorShmemHook(void) -{ - prev_shmem_startup_hook = shmem_startup_hook; - shmem_startup_hook = RegisterRouterExecutorXactCallbacks; -} - - -/* - * RegisterRouterExecutorXactCallbacks registers (sub-)transaction callbacks - * needed by this executor before calling any previous shmem startup hooks. - */ -static void RegisterRouterExecutorXactCallbacks(void) { RegisterXactCallback(RouterTransactionCallback, NULL); RegisterSubXactCallback(RouterSubtransactionCallback, NULL); - - if (prev_shmem_startup_hook != NULL) - { - prev_shmem_startup_hook(); - } } diff --git a/src/backend/distributed/shared_library_init.c b/src/backend/distributed/shared_library_init.c index b486b590e..c52437dbb 100644 --- a/src/backend/distributed/shared_library_init.c +++ b/src/backend/distributed/shared_library_init.c @@ -154,7 +154,7 @@ _PG_init(void) WorkerNodeRegister(); /* initialize transaction callbacks */ - InstallRouterExecutorShmemHook(); + RegisterRouterExecutorXactCallbacks(); InstallMultiShardXactShmemHook(); } diff --git a/src/include/distributed/multi_router_executor.h b/src/include/distributed/multi_router_executor.h index 51bb597f1..236222f5c 100644 --- a/src/include/distributed/multi_router_executor.h +++ b/src/include/distributed/multi_router_executor.h @@ -37,6 +37,6 @@ extern void RouterExecutorStart(QueryDesc *queryDesc, int eflags, Task *task); extern void RouterExecutorRun(QueryDesc *queryDesc, ScanDirection direction, long count); extern void RouterExecutorFinish(QueryDesc *queryDesc); extern void RouterExecutorEnd(QueryDesc *queryDesc); -extern void InstallRouterExecutorShmemHook(void); +extern void RegisterRouterExecutorXactCallbacks(void); #endif /* MULTI_ROUTER_EXECUTOR_H_ */