From: Michael Tremer Date: Mon, 3 Dec 2012 15:01:49 +0000 (+0100) Subject: Reduce number of queries when searching for a package by UUID. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1d2a49fe1f5ce92ebbb65f55845468af231422e1;p=people%2Fjschlag%2Fpbs.git Reduce number of queries when searching for a package by UUID. --- diff --git a/backend/packages.py b/backend/packages.py index 0b3b3cd..5f923f2 100644 --- a/backend/packages.py +++ b/backend/packages.py @@ -52,11 +52,11 @@ class Packages(base.Object): return [(n.name, n.summary) for n in self.db.query(query, *args)] def get_by_uuid(self, uuid): - pkg = self.db.get("SELECT id FROM packages WHERE uuid = %s LIMIT 1", uuid) + pkg = self.db.get("SELECT * FROM packages WHERE uuid = %s LIMIT 1", uuid) if not pkg: return - return Package(self.pakfire, pkg.id) + return Package(self.pakfire, pkg.id, pkg) def search(self, pattern, limit=None): """ @@ -120,14 +120,14 @@ class Packages(base.Object): class Package(base.Object): - def __init__(self, pakfire, id): + def __init__(self, pakfire, id, data=None): base.Object.__init__(self, pakfire) # The ID of the package. self.id = id # Cache. - self._data = None + self._data = data self._deps = None self._arch = None self._filelist = None