ENHANCEMENT Make use of mysql_get_server_info() when calling MSSQLDatabase::getVersion(), if there's a problem getting info this way, falls back to using query for VERSION() details

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@111850 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sean Harvey 2010-10-11 01:09:04 +00:00 committed by Sam Minnee
parent dfb9c71342
commit f0b68587bc

View File

@ -100,7 +100,11 @@ class MySQLDatabase extends SS_Database {
*/
public function getVersion() {
if(!$this->mysqlVersion) {
$this->mysqlVersion = (float)substr(trim(ereg_replace("([A-Za-z-])", "", $this->query("SELECT VERSION()")->value())), 0, 3);
$this->mysqlVersion = @mysql_get_server_info($this->dbConn);
// fallback to query if function doesn't give anything
if(!$this->mysqlVersion) {
$this->mysqlVersion = (float)substr(trim(ereg_replace("([A-Za-z-])", "", $this->query("SELECT VERSION()")->value())), 0, 3);
}
}
return $this->mysqlVersion;
}