summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/hashserv/sqlalchemy.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/hashserv/sqlalchemy.py')
-rw-r--r--bitbake/lib/hashserv/sqlalchemy.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/bitbake/lib/hashserv/sqlalchemy.py b/bitbake/lib/hashserv/sqlalchemy.py
index bfd8a8446e..818b51951b 100644
--- a/bitbake/lib/hashserv/sqlalchemy.py
+++ b/bitbake/lib/hashserv/sqlalchemy.py
@@ -27,6 +27,7 @@ from sqlalchemy import (
27 and_, 27 and_,
28 delete, 28 delete,
29 update, 29 update,
30 func,
30) 31)
31import sqlalchemy.engine 32import sqlalchemy.engine
32from sqlalchemy.orm import declarative_base 33from sqlalchemy.orm import declarative_base
@@ -401,3 +402,16 @@ class Database(object):
401 async with self.db.begin(): 402 async with self.db.begin():
402 result = await self.db.execute(statement) 403 result = await self.db.execute(statement)
403 return result.rowcount != 0 404 return result.rowcount != 0
405
406 async def get_usage(self):
407 usage = {}
408 async with self.db.begin() as session:
409 for name, table in Base.metadata.tables.items():
410 statement = select(func.count()).select_from(table)
411 self.logger.debug("%s", statement)
412 result = await self.db.execute(statement)
413 usage[name] = {
414 "rows": result.scalar(),
415 }
416
417 return usage