aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_admin.php
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-03-29 10:50:18 +0100
committerJoas Schilling <nickvergessen@gmx.de>2014-03-29 10:50:18 +0100
commit70a211022300db0a8414ece32d962b327c8910b4 (patch)
tree29cbf00b7c98d2a7901d794899ea55a0f91f8037 /phpBB/includes/functions_admin.php
parentb7909ba71bf466d91d9072f1e6ba8d523e2ea5ef (diff)
parent4e8aef7cd6036b893ee74928b047aaad4a8a84ad (diff)
downloadforums-70a211022300db0a8414ece32d962b327c8910b4.tar
forums-70a211022300db0a8414ece32d962b327c8910b4.tar.gz
forums-70a211022300db0a8414ece32d962b327c8910b4.tar.bz2
forums-70a211022300db0a8414ece32d962b327c8910b4.tar.xz
forums-70a211022300db0a8414ece32d962b327c8910b4.zip
Merge branch 'develop-olympus' into develop-ascraeus
* develop-olympus: [ticket/9725] Code sniffer fixes [ticket/9725] Do not use deprecated views to remove default constraints [ticket/9725] Move primary key creation to the correct location [ticket/9725] Remove trailing spaces from MSSQL schema [ticket/9725] Create MSSQL primary keys if none exist [ticket/9725] Remove explicit filegroup designations [ticket/9725] Fetch Azure db stats from proper table [ticket/9725] Add dummy indexes for Azure [ticket/9725] Create an Azure SQL compatible Schema Conflicts: phpBB/install/schemas/mssql_schema.sql
Diffstat (limited to 'phpBB/includes/functions_admin.php')
-rw-r--r--phpBB/includes/functions_admin.php16
1 files changed, 16 insertions, 0 deletions
diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php
index b31b268db7..81a381b326 100644
--- a/phpBB/includes/functions_admin.php
+++ b/phpBB/includes/functions_admin.php
@@ -2920,8 +2920,24 @@ function get_database_size()
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
+ $sql = 'SELECT @@VERSION AS mssql_version';
+ $result = $db->sql_query($sql);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
$sql = 'SELECT ((SUM(size) * 8.0) * 1024.0) as dbsize
FROM sysfiles';
+
+ if ($row)
+ {
+ // Azure stats are stored elsewhere
+ if (strpos($row['mssql_version'], 'SQL Azure') !== false)
+ {
+ $sql = 'SELECT ((SUM(reserved_page_count) * 8.0) * 1024.0) as dbsize
+ FROM sys.dm_db_partition_stats';
+ }
+ }
+
$result = $db->sql_query($sql, 7200);
$database_size = ($row = $db->sql_fetchrow($result)) ? $row['dbsize'] : false;
$db->sql_freeresult($result);