mirror of https://github.com/citusdata/citus.git
38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* multi_utility.h
|
|
* Citus utility hook and related functionality.
|
|
*
|
|
* Copyright (c) 2012-2016, Citus Data, Inc.
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef MULTI_UTILITY_H
|
|
#define MULTI_UTILITY_H
|
|
|
|
#include "tcop/utility.h"
|
|
|
|
extern bool EnableDDLPropagation;
|
|
|
|
/*
|
|
* A DDLJob encapsulates the remote tasks and commands needed to process all or
|
|
* part of a distributed DDL command. It hold the distributed relation's oid,
|
|
* the original DDL command string (for MX DDL propagation), and a task list of
|
|
* DDL_TASK-type Tasks to be executed.
|
|
*/
|
|
typedef struct DDLJob
|
|
{
|
|
Oid targetRelationId; /* oid of the target distributed relation */
|
|
bool preventTransaction;
|
|
const char *commandString; /* initial (coordinator) DDL command string */
|
|
List *taskList; /* worker DDL tasks to execute */
|
|
} DDLJob;
|
|
|
|
extern void multi_ProcessUtility(Node *parsetree, const char *queryString,
|
|
ProcessUtilityContext context, ParamListInfo params,
|
|
DestReceiver *dest, char *completionTag);
|
|
extern List * PlanGrantStmt(GrantStmt *grantStmt);
|
|
|
|
|
|
#endif /* MULTI_UTILITY_H */
|