Skip to content

Commit

Permalink
releases: use the db transaction we've got throughout get_releases (#…
Browse files Browse the repository at this point in the history
…2498)

There's no need to use more than one transaction here if we've already
got one.
  • Loading branch information
jcristau committed Apr 11, 2022
1 parent a8c8d36 commit 5d47fe8
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/auslib/services/releases.py
Original file line number Diff line number Diff line change
Expand Up @@ -263,15 +263,17 @@ def get_releases(trans):
refs = [ref for ref in rule_mappings if ref[0] == row["name"]]
row["rule_info"] = {str(ref[1]): {"product": ref[2], "channel": ref[3]} for ref in refs}
row["scheduled_changes"] = []
row["required_signoffs"] = serialize_signoff_requirements([obj for v in dbo.releases_json.getPotentialRequiredSignoffs([row]).values() for obj in v])
row["required_signoffs"] = serialize_signoff_requirements(
[obj for v in dbo.releases_json.getPotentialRequiredSignoffs([row], transaction=trans).values() for obj in v]
)
if row["product"] not in product_required_signoffs:
product_required_signoffs[row["product"]] = serialize_signoff_requirements(
dbo.releases_json.getPotentialRequiredSignoffsForProduct(row["product"])["rs"]
dbo.releases_json.getPotentialRequiredSignoffsForProduct(row["product"], transaction=trans)["rs"]
)
row["product_required_signoffs"] = product_required_signoffs[row["product"]]

for table in (dbo.releases_json.scheduled_changes, dbo.release_assets.scheduled_changes):
for sc in table.select(where={"complete": False}):
for sc in table.select(where={"complete": False}, transaction=trans):
release = [r for r in releases if r["name"] == sc["base_name"]]
if release:
release = release[0]
Expand All @@ -296,7 +298,7 @@ def get_releases(trans):
else:
munged_sc[k.replace("base_", "")] = sc[k]

for signoff in table.signoffs.select(where={"sc_id": sc["sc_id"]}):
for signoff in table.signoffs.select(where={"sc_id": sc["sc_id"]}, transaction=trans):
munged_sc["signoffs"][signoff["username"]] = signoff["role"]

release["scheduled_changes"].append(munged_sc)
Expand Down

0 comments on commit 5d47fe8

Please sign in to comment.