From c9681d543972a835598866d2086546472586535d Mon Sep 17 00:00:00 2001 From: Burak Velioglu Date: Mon, 24 Jan 2022 23:54:17 +0300 Subject: [PATCH] Add break seq-table dependency --- src/backend/distributed/metadata/node_metadata.c | 4 +++- .../distributed/worker/worker_create_or_replace.c | 13 ++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index 968211ca7..8f4b586f5 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -752,9 +752,11 @@ SyncObjectDependenciesCommandList(WorkerNode *workerNode) commandList = list_concat(commandList, PropagateNodeWideObjectsCommandList()); /* - * Detach partitions and remove shell tables first. + * Detach partitions, break dependencies between sequences and table then + * remove shell tables first. */ commandList = list_concat(commandList, DetachPartitionCommandList()); + commandList = lappend(commandList, BREAK_CITUS_TABLE_SEQUENCE_DEPENDENCY_COMMAND); commandList = lappend(commandList, REMOVE_ALL_SHELL_TABLES_COMMAND); /* diff --git a/src/backend/distributed/worker/worker_create_or_replace.c b/src/backend/distributed/worker/worker_create_or_replace.c index 82883c468..942cabba5 100644 --- a/src/backend/distributed/worker/worker_create_or_replace.c +++ b/src/backend/distributed/worker/worker_create_or_replace.c @@ -195,11 +195,12 @@ GenerateBackupNameForCollision(const ObjectAddress *address) default: { - ereport(ERROR, (errmsg("unsupported object to construct a rename statement"), - errdetail( - "unable to generate a backup name for the old type"))); + break; } } + + ereport(ERROR, (errmsg("unsupported object to construct a rename statement"), + errdetail("unable to generate a backup name for the old type"))); } @@ -340,8 +341,10 @@ CreateRenameStatement(const ObjectAddress *address, char *newName) default: { - ereport(ERROR, (errmsg("unsupported object to construct a rename statement"), - errdetail("unable to generate a parsetree for the rename"))); + break; } } + + ereport(ERROR, (errmsg("unsupported object to construct a rename statement"), + errdetail("unable to generate a parsetree for the rename"))); }