aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db/mssql.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2008-09-04 14:10:03 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2008-09-04 14:10:03 +0000
commit3a330753f413c3e024163f8f401f327bc2f9930c (patch)
tree37621305e29c6b56e8aa93778e8ec3bc64f38a38 /phpBB/includes/db/mssql.php
parenta736c97c04bde8138c3cb7236004e30133d91b65 (diff)
downloadforums-3a330753f413c3e024163f8f401f327bc2f9930c.tar
forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar.gz
forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar.bz2
forums-3a330753f413c3e024163f8f401f327bc2f9930c.tar.xz
forums-3a330753f413c3e024163f8f401f327bc2f9930c.zip
Get real dbms version instead of relying on php internal functions which only grab the local library version
git-svn-id: file:///svn/phpbb/trunk@8821 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/db/mssql.php')
-rw-r--r--phpBB/includes/db/mssql.php32
1 files changed, 23 insertions, 9 deletions
diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php
index a2081891e4..7864f7a3d7 100644
--- a/phpBB/includes/db/mssql.php
+++ b/phpBB/includes/db/mssql.php
@@ -57,24 +57,38 @@ class dbal_mssql extends dbal
/**
* Version information about used database
+ * @param bool $raw if true, only return the fetched sql_server_version
+ * @return string sql server version
*/
- function sql_server_info()
+ function sql_server_info($raw = false)
{
- $result_id = @mssql_query("SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')", $this->db_connect_id);
+ global $cache;
- $row = false;
- if ($result_id)
+ if (empty($cache) || ($this->sql_server_version = $cache->get('mssql_version')) === false)
{
- $row = @mssql_fetch_assoc($result_id);
- @mssql_free_result($result_id);
+ $result_id = @mssql_query("SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')", $this->db_connect_id);
+
+ $row = false;
+ if ($result_id)
+ {
+ $row = @mssql_fetch_assoc($result_id);
+ @mssql_free_result($result_id);
+ }
+
+ $this->sql_server_version = ($row) ? trim(implode(' ', $row)) : 0;
+
+ if (!empty($cache))
+ {
+ $cache->put('mssql_version', $this->sql_server_version);
+ }
}
- if ($row)
+ if ($raw)
{
- return 'MSSQL<br />' . implode(' ', $row);
+ return $this->sql_server_version;
}
- return 'MSSQL';
+ return ($this->sql_server_version) ? 'MSSQL<br />' . $this->sql_server_version : 'MSSQL';
}
/**