commit: 73e8b3e7c00b1b2686ae0df6d406181b6c3808a7 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> AuthorDate: Mon Jun 26 21:49:07 2023 +0000 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> CommitDate: Mon Jun 26 21:49:07 2023 +0000 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=73e8b3e7
Add support to remove ebuilds in db Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org> buildbot_gentoo_ci/db/versions.py | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/buildbot_gentoo_ci/db/versions.py b/buildbot_gentoo_ci/db/versions.py index 6b534f3..0aaac1b 100644 --- a/buildbot_gentoo_ci/db/versions.py +++ b/buildbot_gentoo_ci/db/versions.py @@ -131,6 +131,46 @@ class VersionsConnectorComponent(base.DBConnectorComponent): res = yield self.db.pool.do(thd) return res + @defer.inlineCallbacks + def getEbuildsByPackage(self, p_uuid, deleted=False): + def thd(conn): + tbl = self.db.model.versions + q = tbl.select() + q = q.where(tbl.c.deleted == deleted) + q = q.where(tbl.c.package_uuid == p_uuid) + return [self._row2dict(conn, row) + for row in conn.execute(q).fetchall()] + res = yield self.db.pool.do(thd) + return res + + @defer.inlineCallbacks + def removeVersion(self, uuid): + def thd(conn, no_recurse=False): + tbl = self.db.model.versions + q = tbl.delete() + q = q.where(tbl.c.uuid == uuid) + conn.execute(q) + yield self.db.pool.do(thd) + + @defer.inlineCallbacks + def removeVersionMetadata(self, version_uuid): + def thd(conn, no_recurse=False): + tbl = self.db.model.versions_metadata + q = tbl.delete() + q = q.where(tbl.c.version_uuid == version_uuid) + conn.execute(q) + yield self.db.pool.do(thd) + + @defer.inlineCallbacks + def removeVersionKeyword(self, version_uuid): + def thd(conn, no_recurse=False): + tbl = self.db.model.versions_keywords + q = tbl.delete() + q = q.where(tbl.c.version_uuid == version_uuid) + conn.execute(q) + yield self.db.pool.do(thd) + + def _row2dict(self, conn, row): return dict( uuid=row.uuid,