Skip to content

Commit b47dfb1

Browse files
mikethemanewdurbin
andauthored
refactor: generate the resulting dict in the db (#17715)
Signed-off-by: Mike Fiedler <[email protected]> Co-authored-by: Ee Durbin <[email protected]>
1 parent 05c06eb commit b47dfb1

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

warehouse/legacy/api/xmlrpc/views.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,15 @@ def changelog_since_serial(request, serial: StrictInt):
269269

270270
@xmlrpc_cache_all_projects(method="list_packages_with_serial")
271271
def list_packages_with_serial(request):
272-
package_serial_tuples = request.db.query(Project.name, Project.last_serial).all()
273-
return dict(package_serial_tuples)
272+
# Have PostgreSQL create the dictionary directly
273+
query = select(
274+
func.jsonb_object_agg(Project.name, Project.last_serial).label(
275+
"package_serials"
276+
)
277+
)
278+
279+
result = request.db.execute(query).scalar()
280+
return result or {}
274281

275282

276283
# Package querying methods

0 commit comments

Comments
 (0)