fix(sqlite): make System Health Report compatible
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
parent
dc60a65c38
commit
b16d69a002
2 changed files with 10 additions and 6 deletions
|
|
@ -41,20 +41,20 @@ def execute(filters=None):
|
|||
)
|
||||
SELECT
|
||||
m.name as 'table',
|
||||
ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name = m.name) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'data_size_mb',
|
||||
ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name = m.name) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'data_size',
|
||||
ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name IN (
|
||||
SELECT name FROM sqlite_master
|
||||
WHERE type = 'index' AND tbl_name = m.name
|
||||
)) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'index_size_mb',
|
||||
)) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'index_size',
|
||||
ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name = m.name OR name IN (
|
||||
SELECT name FROM sqlite_master
|
||||
WHERE type = 'index' AND tbl_name = m.name
|
||||
)) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'total_size_mb'
|
||||
)) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'size'
|
||||
FROM sqlite_master m
|
||||
CROSS JOIN page_size
|
||||
WHERE m.type = 'table'
|
||||
AND m.name NOT LIKE 'sqlite_%'
|
||||
ORDER BY total_size_mb DESC;""",
|
||||
ORDER BY size DESC;""",
|
||||
},
|
||||
as_dict=1,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -310,10 +310,14 @@ class SystemHealthReport(Document):
|
|||
|
||||
_cols, data = db_report()
|
||||
self.database = frappe.db.db_type
|
||||
self.db_storage_usage = sum(table.size for table in data)
|
||||
self.db_storage_usage = sum(table.size or 0.0 for table in data)
|
||||
for row in data[:5]:
|
||||
self.append("top_db_tables", row)
|
||||
self.database_version = frappe.db.sql("select version()")[0][0]
|
||||
|
||||
if frappe.db.db_type == "sqlite":
|
||||
self.database_version = frappe.db.sql("select sqlite_version()")[0][0]
|
||||
else:
|
||||
self.database_version = frappe.db.sql("select version()")[0][0]
|
||||
|
||||
if frappe.db.db_type == "mariadb":
|
||||
self.bufferpool_size = frappe.db.sql("show variables like 'innodb_buffer_pool_size'")[0][1]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue