citus/src/include/distributed/function_call_delegation.h

30 lines
831 B
C

/*
* function_call_delegation.h
* Declarations for public functions and variables used to delegate
* function calls to worker nodes.
*
* Copyright (c), Citus Data, Inc.
*/
#ifndef FUNCTION_CALL_DELEGATION_H
#define FUNCTION_CALL_DELEGATION_H
#include "postgres.h"
#include "distributed/distributed_planner.h"
#include "distributed/multi_physical_planner.h"
/*
* These flags keep track of whether the process is currently in a delegated
* function or procedure call.
*/
extern bool InTopLevelDelegatedFunctionCall;
extern bool InDelegatedProcedureCall;
PlannedStmt * TryToDelegateFunctionCall(DistributedPlanningContext *planContext);
extern void CheckAndResetAllowedShardKeyValueIfNeeded(void);
extern bool IsShardKeyValueAllowed(Const *shardKey, uint32 colocationId);
#endif /* FUNCTION_CALL_DELEGATION_H */