diff --git a/src/backend/distributed/metadata/metadata_sync.c b/src/backend/distributed/metadata/metadata_sync.c index 56e8f7391..95a061510 100644 --- a/src/backend/distributed/metadata/metadata_sync.c +++ b/src/backend/distributed/metadata/metadata_sync.c @@ -921,6 +921,7 @@ ShardListInsertCommand(List *shardIntervalList) "shardlength, groupid, placementid) AS (VALUES "); ShardInterval *shardInterval = NULL; + bool isFirstValue = true; foreach_ptr(shardInterval, shardIntervalList) { uint64 shardId = shardInterval->shardId; @@ -929,7 +930,7 @@ ShardListInsertCommand(List *shardIntervalList) ShardPlacement *placement = NULL; foreach_ptr(placement, shardPlacementList) { - if (!foreach_first(shardInterval) || foreach_first(placement)) + if (!isFirstValue) { /* * As long as this is not the first placement of the first shard, @@ -937,6 +938,7 @@ ShardListInsertCommand(List *shardIntervalList) */ appendStringInfo(insertPlacementCommand, ", "); } + isFirstValue = false; appendStringInfo(insertPlacementCommand, "(%ld, %d, %ld, %d, %ld)",