From 4ca33dde6420a0f36b1dd59f2832b823276333fa Mon Sep 17 00:00:00 2001 From: Nils Dijk Date: Fri, 7 Feb 2020 01:43:13 +0100 Subject: [PATCH] extract schema DistributeObjectOps --- .../commands/distribute_object_ops.c | 18 ------------- src/backend/distributed/commands/schema.c | 26 +++++++++++++++++-- src/include/distributed/commands.h | 8 ------ 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/src/backend/distributed/commands/distribute_object_ops.c b/src/backend/distributed/commands/distribute_object_ops.c index acd6f81a9..43d01c3f0 100644 --- a/src/backend/distributed/commands/distribute_object_ops.c +++ b/src/backend/distributed/commands/distribute_object_ops.c @@ -99,24 +99,6 @@ static DistributeObjectOps Collation_Rename = { REGISTER_DISTRIBUTED_OPERATION_NESTED(RenameStmt, renameType, OBJECT_COLLATION, Collation_Rename); -static DistributeObjectOps Schema_Drop = { - .deparse = NULL, - .qualify = NULL, - .preprocess = PreprocessDropSchemaStmt, - .postprocess = NULL, - .address = NULL, -}; -REGISTER_DISTRIBUTED_OPERATION_NESTED(DropStmt, removeType, OBJECT_SCHEMA, Schema_Drop); - -static DistributeObjectOps Schema_Grant = { - .deparse = DeparseGrantOnSchemaStmt, - .qualify = NULL, - .preprocess = PreprocessGrantOnSchemaStmt, - .postprocess = NULL, - .address = NULL, -}; -REGISTER_DISTRIBUTED_OPERATION_NESTED(GrantStmt, objtype, OBJECT_SCHEMA, Schema_Grant); - /* linker provided pointers */ SECTION_ARRAY(DistributedObjectOpsContainer *, opscontainer); diff --git a/src/backend/distributed/commands/schema.c b/src/backend/distributed/commands/schema.c index 92cc79698..edb34c23b 100644 --- a/src/backend/distributed/commands/schema.c +++ b/src/backend/distributed/commands/schema.c @@ -36,11 +36,33 @@ static List * FilterDistributedSchemas(List *schemas); +/* DistributeObjectOps */ +static List * PreprocessDropSchemaStmt(Node *node, const char *queryString); +static DistributeObjectOps Schema_Drop = { + .deparse = NULL, + .qualify = NULL, + .preprocess = PreprocessDropSchemaStmt, + .postprocess = NULL, + .address = NULL, +}; +REGISTER_DISTRIBUTED_OPERATION_NESTED(DropStmt, removeType, OBJECT_SCHEMA, Schema_Drop); + +static List * PreprocessGrantOnSchemaStmt(Node *node, const char *queryString); +static DistributeObjectOps Schema_Grant = { + .deparse = DeparseGrantOnSchemaStmt, + .qualify = NULL, + .preprocess = PreprocessGrantOnSchemaStmt, + .postprocess = NULL, + .address = NULL, +}; +REGISTER_DISTRIBUTED_OPERATION_NESTED(GrantStmt, objtype, OBJECT_SCHEMA, Schema_Grant); + + /* * PreprocessDropSchemaStmt invalidates the foreign key cache if any table created * under dropped schema involved in any foreign key relationship. */ -List * +static List * PreprocessDropSchemaStmt(Node *node, const char *queryString) { DropStmt *dropStatement = castNode(DropStmt, node); @@ -119,7 +141,7 @@ PreprocessDropSchemaStmt(Node *node, const char *queryString) * In this stage we can prepare the commands that need to be run on all workers to grant * on schemas. Only grant statements for distributed schema are propagated. */ -List * +static List * PreprocessGrantOnSchemaStmt(Node *node, const char *queryString) { GrantStmt *stmt = castNode(GrantStmt, node); diff --git a/src/include/distributed/commands.h b/src/include/distributed/commands.h index 922775e41..1b2eab1aa 100644 --- a/src/include/distributed/commands.h +++ b/src/include/distributed/commands.h @@ -197,14 +197,6 @@ extern List * PreprocessRenameAttributeStmt(Node *stmt, const char *queryString) extern List * GenerateAlterRoleIfExistsCommandAllRoles(void); -/* schema.c - forward declarations */ -extern List * PreprocessDropSchemaStmt(Node *dropSchemaStatement, - const char *queryString); -extern List * PreprocessAlterObjectSchemaStmt(Node *alterObjectSchemaStmt, - const char *alterObjectSchemaCommand); -extern List * PreprocessGrantOnSchemaStmt(Node *node, const char *queryString); - - /* sequence.c - forward declarations */ extern void ErrorIfUnsupportedSeqStmt(CreateSeqStmt *createSeqStmt); extern void ErrorIfDistributedAlterSeqOwnedBy(AlterSeqStmt *alterSeqStmt);