From 0d7aea3a229c9351d68b83796e719ea0bec0f0fc Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Wed, 6 Jan 2021 10:49:35 +0300 Subject: [PATCH] Move pre undistribute_table chekcs into C API (#4456) --- .../distributed/commands/create_distributed_table.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backend/distributed/commands/create_distributed_table.c b/src/backend/distributed/commands/create_distributed_table.c index a8f15da81..9efd91816 100644 --- a/src/backend/distributed/commands/create_distributed_table.c +++ b/src/backend/distributed/commands/create_distributed_table.c @@ -291,9 +291,6 @@ undistribute_table(PG_FUNCTION_ARGS) Oid relationId = PG_GETARG_OID(0); CheckCitusVersion(ERROR); - EnsureCoordinator(); - EnsureRelationExists(relationId); - EnsureTableOwner(relationId); UndistributeTable(relationId); @@ -1557,7 +1554,12 @@ DistributionColumnUsesGeneratedStoredColumn(TupleDesc relationDesc, void UndistributeTable(Oid relationId) { - Relation relation = try_relation_open(relationId, ExclusiveLock); + EnsureCoordinator(); + EnsureRelationExists(relationId); + EnsureTableOwner(relationId); + + LOCKMODE lockMode = ExclusiveLock; + Relation relation = try_relation_open(relationId, lockMode); if (relation == NULL) { ereport(ERROR, (errmsg("cannot undistribute table"),