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,

Reply via email to