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,