Merge pull request #10010 from swordqiu/hotfix/qj-export-vpc-less-than-listed

fix(region): exported number of vpcs less than listed
This commit is contained in:
Zexi Li
2021-01-25 21:06:12 +08:00
committed by GitHub
+3 -3
View File
@@ -1454,7 +1454,7 @@ func (manager *SVpcManager) ListItemExportKeys(ctx context.Context,
if keys.Contains("wire_count") {
wires := WireManager.Query("vpc_id").SubQuery()
subq := wires.Query(sqlchemy.COUNT("wire_count"), wires.Field("vpc_id")).GroupBy(wires.Field("vpc_id")).SubQuery()
q = q.Join(subq, sqlchemy.Equals(q.Field("id"), subq.Field("vpc_id")))
q = q.LeftJoin(subq, sqlchemy.Equals(q.Field("id"), subq.Field("vpc_id")))
q = q.AppendField(subq.Field("wire_count"))
}
@@ -1462,10 +1462,10 @@ func (manager *SVpcManager) ListItemExportKeys(ctx context.Context,
wires := WireManager.Query("id", "vpc_id").SubQuery()
networks := NetworkManager.Query("wire_id").SubQuery()
subq := networks.Query(sqlchemy.COUNT("network_count"), wires.Field("vpc_id"))
subq = subq.Join(wires, sqlchemy.Equals(networks.Field("wire_id"), wires.Field("id")))
subq = subq.LeftJoin(wires, sqlchemy.Equals(networks.Field("wire_id"), wires.Field("id")))
subq = subq.GroupBy(wires.Field("vpc_id"))
subqQ := subq.SubQuery()
q = q.Join(subqQ, sqlchemy.Equals(q.Field("id"), subqQ.Field("vpc_id")))
q = q.LeftJoin(subqQ, sqlchemy.Equals(q.Field("id"), subqQ.Field("vpc_id")))
q = q.AppendField(subqQ.Field("network_count"))
}