From 6814c0f7f37e5374d9e279827b5a77a36dfde269 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 11 Dec 2020 09:14:43 +0100 Subject: Fix MySQL database size calculation Signed-off-by: Joas Schilling --- lib/DatabaseStatistics.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/DatabaseStatistics.php b/lib/DatabaseStatistics.php index afdd039..a955f7f 100644 --- a/lib/DatabaseStatistics.php +++ b/lib/DatabaseStatistics.php @@ -95,12 +95,13 @@ class DatabaseStatistics { // This code is heavily influenced by a similar routine in phpMyAdmin 2.2.0 switch ($this->config->getSystemValue('dbtype')) { case 'mysql': + $mysqlEngine = ['MyISAM', 'InnoDB', 'Aria']; $db_name = $this->config->getSystemValue('dbname'); $sql = 'SHOW TABLE STATUS FROM `' . $db_name . '`'; $result = $this->connection->executeQuery($sql); $database_size = 0; while ($row = $result->fetch()) { - if ((isset($row['Type']) && $row['Type'] !== 'MRG_MyISAM') || (isset($row['Engine']) && ($row['Engine'] === 'MyISAM' || $row['Engine'] === 'InnoDB'))) { + if (isset($row['Engine']) && in_array($row['Engine'], $mysqlEngine)) { $database_size += $row['Data_length'] + $row['Index_length']; } } -- cgit v1.2.3