talha_tes1
Ahmet Gedemenli 2021-10-26 19:04:59 +03:00
parent 271220ef6e
commit 892dd7ac49
5 changed files with 9 additions and 5 deletions

View File

@ -631,10 +631,12 @@ UpdateAutoConvertedForConnectedRelations(Oid relationId, bool autoConverted)
{ {
InvalidateForeignKeyGraph(); InvalidateForeignKeyGraph();
List *relationIdList = GetForeignKeyConnectedRelationIdList(relationId); List *relationIdList = GetForeignKeyConnectedRelationIdList(relationId);
relationIdList = SortList(relationIdList, CompareOids);
Oid relid = InvalidOid; Oid relid = InvalidOid;
foreach_oid(relid, relationIdList) foreach_oid(relid, relationIdList)
{ {
UpdatePartitionAutoConverted(relid, false); UpdatePgDistPartitionAutoConverted(relid, false);
} }
} }

View File

@ -1224,11 +1224,12 @@ MarkConnectedRelationsNotAutoConverted(Oid leftRelationId, Oid rightRelationId)
List *rightConnectedRelIds = GetForeignKeyConnectedRelationIdList(rightRelationId); List *rightConnectedRelIds = GetForeignKeyConnectedRelationIdList(rightRelationId);
List *allConnectedRelations = list_concat_unique_oid(leftConnectedRelIds, List *allConnectedRelations = list_concat_unique_oid(leftConnectedRelIds,
rightConnectedRelIds); rightConnectedRelIds);
allConnectedRelations = SortList(allConnectedRelations, CompareOids);
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, allConnectedRelations) foreach_oid(relationId, allConnectedRelations)
{ {
UpdatePartitionAutoConverted(relationId, false); UpdatePgDistPartitionAutoConverted(relationId, false);
} }
} }

View File

@ -718,6 +718,7 @@ UndistributeDisconnectedCitusLocalTables(void)
if (PartitionTable(citusLocalTableId)) if (PartitionTable(citusLocalTableId))
{ {
/* we skip here, we'll undistribute from the parent if necessary */ /* we skip here, we'll undistribute from the parent if necessary */
UnlockRelationOid(citusLocalTableId, lockMode);
continue; continue;
} }

View File

@ -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. * by citusTableId.
*/ */
void void
UpdatePartitionAutoConverted(Oid citusTableId, bool autoConverted) UpdatePgDistPartitionAutoConverted(Oid citusTableId, bool autoConverted)
{ {
ScanKeyData scanKey[1]; ScanKeyData scanKey[1];
int scanKeyCount = 1; int scanKeyCount = 1;

View File

@ -235,7 +235,7 @@ extern uint64 InsertShardPlacementRow(uint64 shardId, uint64 placementId,
extern void InsertIntoPgDistPartition(Oid relationId, char distributionMethod, extern void InsertIntoPgDistPartition(Oid relationId, char distributionMethod,
Var *distributionColumn, uint32 colocationId, Var *distributionColumn, uint32 colocationId,
char replicationModel, bool autoConverted); 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 DeletePartitionRow(Oid distributedRelationId);
extern void DeleteShardRow(uint64 shardId); extern void DeleteShardRow(uint64 shardId);
extern void UpdateShardPlacementState(uint64 placementId, char shardState); extern void UpdateShardPlacementState(uint64 placementId, char shardState);