From 7fe71eb124dc5559b6aa719e28f9ed00315c6730 Mon Sep 17 00:00:00 2001 From: Nils Dijk Date: Fri, 7 Feb 2020 01:45:29 +0100 Subject: [PATCH] extract rename DistributeObjectOps --- .../commands/distribute_object_ops.c | 15 --------------- src/backend/distributed/commands/rename.c | 19 ++++++++++++++++++- src/include/distributed/commands.h | 1 - 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/backend/distributed/commands/distribute_object_ops.c b/src/backend/distributed/commands/distribute_object_ops.c index 43d01c3f0..baae04203 100644 --- a/src/backend/distributed/commands/distribute_object_ops.c +++ b/src/backend/distributed/commands/distribute_object_ops.c @@ -23,21 +23,6 @@ static DistributeObjectOps NoDistributeOps = { .address = NULL, }; -static DistributeObjectOps Any_Rename = { - .deparse = NULL, - .qualify = NULL, - .preprocess = PreprocessRenameStmt, - .postprocess = NULL, - .address = NULL, -}; -REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_TABLE, Any_Rename); -REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_FOREIGN_TABLE, - Any_Rename); -REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_COLUMN, Any_Rename); -REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_TABCONSTRAINT, - Any_Rename); -REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_INDEX, Any_Rename); - /* TODO this is a 2 level nested statement which we do not currently support */ static DistributeObjectOps Attribute_Rename = { .deparse = DeparseRenameAttributeStmt, diff --git a/src/backend/distributed/commands/rename.c b/src/backend/distributed/commands/rename.c index fbd354cf2..868085a3f 100644 --- a/src/backend/distributed/commands/rename.c +++ b/src/backend/distributed/commands/rename.c @@ -18,6 +18,23 @@ #include "nodes/parsenodes.h" +/* DistributeObjectOps */ +static List * PreprocessRenameStmt(Node *node, const char *renameCommand); +static DistributeObjectOps Any_Rename = { + .deparse = NULL, + .qualify = NULL, + .preprocess = PreprocessRenameStmt, + .postprocess = NULL, + .address = NULL, +}; +REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_TABLE, Any_Rename); +REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_FOREIGN_TABLE, + Any_Rename); +REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_COLUMN, Any_Rename); +REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_TABCONSTRAINT, + Any_Rename); +REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_INDEX, Any_Rename); + /* * PreprocessRenameStmt first determines whether a given rename statement involves * a distributed table. If so (and if it is supported, i.e. renames a column), @@ -25,7 +42,7 @@ * portion of DDL execution before returning that DDLJob in a List. If no dis- * tributed table is involved, this function returns NIL. */ -List * +static List * PreprocessRenameStmt(Node *node, const char *renameCommand) { RenameStmt *renameStmt = castNode(RenameStmt, node); diff --git a/src/include/distributed/commands.h b/src/include/distributed/commands.h index 1b2eab1aa..fdca9812c 100644 --- a/src/include/distributed/commands.h +++ b/src/include/distributed/commands.h @@ -188,7 +188,6 @@ extern void DropPolicyEventExtendNames(DropStmt *stmt, const char *schemaName, u /* rename.c - forward declarations*/ -extern List * PreprocessRenameStmt(Node *renameStmt, const char *renameCommand); extern void ErrorIfUnsupportedRenameStmt(RenameStmt *renameStmt); extern List * PreprocessRenameAttributeStmt(Node *stmt, const char *queryString);