fix: use a transaction for package query; remove refresh

Closes #284

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2022-02-18 15:42:35 -08:00
parent 4e641d945c
commit 1d86b3e210
No known key found for this signature in database
GPG key ID: F7E46DED420788F3

View file

@ -138,6 +138,7 @@ def updated_packages(limit: int = 0,
# If we already have a cache, deserialize it and return. # If we already have a cache, deserialize it and return.
return orjson.loads(packages) return orjson.loads(packages)
with db.begin():
query = db.query(models.Package).join(models.PackageBase).filter( query = db.query(models.Package).join(models.PackageBase).filter(
models.PackageBase.PackagerUID.isnot(None) models.PackageBase.PackagerUID.isnot(None)
).order_by( ).order_by(
@ -151,7 +152,6 @@ def updated_packages(limit: int = 0,
for pkg in query: for pkg in query:
# For each Package returned by the query, append a dict # For each Package returned by the query, append a dict
# containing Package columns we're interested in. # containing Package columns we're interested in.
db.refresh(pkg)
packages.append({ packages.append({
"Name": pkg.Name, "Name": pkg.Name,
"Version": pkg.Version, "Version": pkg.Version,