From 892dd7ac4905913eb37ab4961275d6a1c5ec48fd Mon Sep 17 00:00:00 2001 From: Ahmet Gedemenli Date: Tue, 26 Oct 2021 19:04:59 +0300 Subject: [PATCH] Polish --- .../distributed/commands/citus_add_local_table_to_metadata.c | 4 +++- src/backend/distributed/commands/table.c | 3 ++- src/backend/distributed/commands/utility_hook.c | 1 + src/backend/distributed/metadata/metadata_utility.c | 4 ++-- src/include/distributed/metadata_utility.h | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/backend/distributed/commands/citus_add_local_table_to_metadata.c b/src/backend/distributed/commands/citus_add_local_table_to_metadata.c index c0d8ff786..5788f2eea 100644 --- a/src/backend/distributed/commands/citus_add_local_table_to_metadata.c +++ b/src/backend/distributed/commands/citus_add_local_table_to_metadata.c @@ -631,10 +631,12 @@ UpdateAutoConvertedForConnectedRelations(Oid relationId, bool autoConverted) { InvalidateForeignKeyGraph(); List *relationIdList = GetForeignKeyConnectedRelationIdList(relationId); + relationIdList = SortList(relationIdList, CompareOids); + Oid relid = InvalidOid; foreach_oid(relid, relationIdList) { - UpdatePartitionAutoConverted(relid, false); + UpdatePgDistPartitionAutoConverted(relid, false); } } diff --git a/src/backend/distributed/commands/table.c b/src/backend/distributed/commands/table.c index 4311b53b6..235cfe07f 100644 --- a/src/backend/distributed/commands/table.c +++ b/src/backend/distributed/commands/table.c @@ -1224,11 +1224,12 @@ MarkConnectedRelationsNotAutoConverted(Oid leftRelationId, Oid rightRelationId) List *rightConnectedRelIds = GetForeignKeyConnectedRelationIdList(rightRelationId); List *allConnectedRelations = list_concat_unique_oid(leftConnectedRelIds, rightConnectedRelIds); + allConnectedRelations = SortList(allConnectedRelations, CompareOids); Oid relationId = InvalidOid; foreach_oid(relationId, allConnectedRelations) { - UpdatePartitionAutoConverted(relationId, false); + UpdatePgDistPartitionAutoConverted(relationId, false); } } diff --git a/src/backend/distributed/commands/utility_hook.c b/src/backend/distributed/commands/utility_hook.c index e89a1a7ea..f0ce9ae47 100644 --- a/src/backend/distributed/commands/utility_hook.c +++ b/src/backend/distributed/commands/utility_hook.c @@ -718,6 +718,7 @@ UndistributeDisconnectedCitusLocalTables(void) if (PartitionTable(citusLocalTableId)) { /* we skip here, we'll undistribute from the parent if necessary */ + UnlockRelationOid(citusLocalTableId, lockMode); continue; } diff --git a/src/backend/distributed/metadata/metadata_utility.c b/src/backend/distributed/metadata/metadata_utility.c index 4b5bf5a55..9522656a6 100644 --- a/src/backend/distributed/metadata/metadata_utility.c +++ b/src/backend/distributed/metadata/metadata_utility.c @@ -2071,11 +2071,11 @@ UpdatePlacementGroupId(uint64 placementId, int groupId) /* - * UpdatePartitionAutoConverted sets the autoConverted for the partition identified + * UpdatePgDistPartitionAutoConverted sets the autoConverted for the partition identified * by citusTableId. */ void -UpdatePartitionAutoConverted(Oid citusTableId, bool autoConverted) +UpdatePgDistPartitionAutoConverted(Oid citusTableId, bool autoConverted) { ScanKeyData scanKey[1]; int scanKeyCount = 1; diff --git a/src/include/distributed/metadata_utility.h b/src/include/distributed/metadata_utility.h index 84bfe833a..742aec20a 100644 --- a/src/include/distributed/metadata_utility.h +++ b/src/include/distributed/metadata_utility.h @@ -235,7 +235,7 @@ extern uint64 InsertShardPlacementRow(uint64 shardId, uint64 placementId, extern void InsertIntoPgDistPartition(Oid relationId, char distributionMethod, Var *distributionColumn, uint32 colocationId, char replicationModel, bool autoConverted); -extern void UpdatePartitionAutoConverted(Oid citusTableId, bool autoConverted); +extern void UpdatePgDistPartitionAutoConverted(Oid citusTableId, bool autoConverted); extern void DeletePartitionRow(Oid distributedRelationId); extern void DeleteShardRow(uint64 shardId); extern void UpdateShardPlacementState(uint64 placementId, char shardState);