for row in res:
yield Package(self.backend, row.id, data=row)
- def get_by_id(self, pkg_id):
- return self._get_package("SELECT * FROM packages \
- WHERE id = %s", pkg_id)
-
def get_list(self):
"""
Returns a list with all package names and the summary line
that have at one time been part of the distribution
"""
- return self.db.query("SELECT DISTINCT packages.name AS name, packages.summary AS summary FROM builds \
- LEFT JOIN packages ON builds.pkg_id = packages.id \
- WHERE builds.type = %s AND builds.state != %s", "release", "obsolete")
+ return self.db.query("""
+ SELECT
+ DISTINCT ON (packages.name)
+ packages.name AS name,
+ packages.summary AS summary,
+ packages.created_at
+ FROM
+ packages
+ WHERE
+ deleted IS FALSE
+ AND
+ arch = %s
+ ORDER BY
+ name, created_at DESC""",
+ "src",
+ )
+
+ def get_by_id(self, pkg_id):
+ return self._get_package("SELECT * FROM packages \
+ WHERE id = %s", pkg_id)
def get_by_uuid(self, uuid):
return self._get_package("""