From 7db6991dc00698efcb50917ee4cbc0628c71b6a4 Mon Sep 17 00:00:00 2001 From: Hanefi Onaldi Date: Tue, 20 Nov 2018 14:16:17 +0300 Subject: [PATCH] propagate validate queries to workers --- src/backend/distributed/commands/table.c | 6 ++++-- src/backend/distributed/relay/relay_event_utility.c | 9 +++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/backend/distributed/commands/table.c b/src/backend/distributed/commands/table.c index ddb4e5ace..fe256feeb 100644 --- a/src/backend/distributed/commands/table.c +++ b/src/backend/distributed/commands/table.c @@ -1060,11 +1060,13 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement) case AT_EnableTrigAll: case AT_DisableTrigAll: case AT_ReplicaIdentity: + case AT_ValidateConstraint: { /* * We will not perform any special check for ALTER TABLE DROP CONSTRAINT * , ALTER TABLE .. ALTER COLUMN .. SET NOT NULL and ALTER TABLE ENABLE/ - * DISABLE TRIGGER ALL, ALTER TABLE .. REPLICA IDENTITY .. + * DISABLE TRIGGER ALL, ALTER TABLE .. REPLICA IDENTITY .., ALTER TABLE + * .. VALIDATE CONSTRAINT .. */ break; } @@ -1083,7 +1085,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("alter table command is currently unsupported"), errdetail("Only ADD|DROP COLUMN, SET|DROP NOT NULL, " - "SET|DROP DEFAULT, ADD|DROP CONSTRAINT, " + "SET|DROP DEFAULT, ADD|DROP|VALIDATE CONSTRAINT, " "SET (), RESET (), " "ATTACH|DETACH PARTITION and TYPE subcommands " "are supported."))); diff --git a/src/backend/distributed/relay/relay_event_utility.c b/src/backend/distributed/relay/relay_event_utility.c index 9d5cbd390..2d4dea85b 100644 --- a/src/backend/distributed/relay/relay_event_utility.c +++ b/src/backend/distributed/relay/relay_event_utility.c @@ -113,7 +113,11 @@ RelayEventExtendNames(Node *parseTree, char *schemaName, uint64 shardId) AppendShardIdToConstraintName(command, shardId); } - if (command->subtype == AT_DropConstraint) + else if (command->subtype == AT_DropConstraint) + { + AppendShardIdToConstraintName(command, shardId); + } + else if (command->subtype == AT_ValidateConstraint) { AppendShardIdToConstraintName(command, shardId); } @@ -598,7 +602,8 @@ AppendShardIdToConstraintName(AlterTableCmd *command, uint64 shardId) char **constraintName = &(constraint->conname); AppendShardIdToName(constraintName, shardId); } - else if (command->subtype == AT_DropConstraint) + else if (command->subtype == AT_DropConstraint || + command->subtype == AT_ValidateConstraint) { char **constraintName = &(command->name); AppendShardIdToName(constraintName, shardId);