#878198: use PDO::ATTR_SERVER_VERSION instead of doing queries ourselves.

From: Damien Tournoud <damien@commerceguys.com>


---
 database/database.inc        |    4 +++-
 database/mysql/database.inc  |    5 -----
 database/pgsql/database.inc  |    4 ----
 database/sqlite/database.inc |    4 ----
 4 files changed, 3 insertions(+), 14 deletions(-)

diff --git includes/database/database.inc includes/database/database.inc
index 933ceb2..27ed0a0 100644
--- includes/database/database.inc
+++ includes/database/database.inc
@@ -1051,7 +1051,9 @@ abstract class DatabaseConnection extends PDO {
   /**
    * Returns the version of the database server.
    */
-  abstract public function version();
+  public function version() {
+    return $this->getAttribute(PDO::ATTR_SERVER_VERSION);
+  }
 
   /**
    * Determines if this driver supports transactions.
diff --git includes/database/mysql/database.inc includes/database/mysql/database.inc
index f937378..6d94dfe 100644
--- includes/database/mysql/database.inc
+++ includes/database/mysql/database.inc
@@ -79,11 +79,6 @@ class DatabaseConnection_mysql extends DatabaseConnection {
     return 'mysql';
   }
 
-  public function version() {
-    $data = $this->query('SHOW variables LIKE :name', array(':name' => 'version'))->fetchAssoc();
-    return $data['value'];
-  }
-
   public function databaseType() {
     return 'mysql';
   }
diff --git includes/database/pgsql/database.inc includes/database/pgsql/database.inc
index dbb3286..007d237 100644
--- includes/database/pgsql/database.inc
+++ includes/database/pgsql/database.inc
@@ -126,10 +126,6 @@ class DatabaseConnection_pgsql extends DatabaseConnection {
     return 'pgsql';
   }
 
-  public function version() {
-    return $this->query('SHOW SERVER_VERSION')->fetchField();
-  }
-
   public function databaseType() {
     return 'pgsql';
   }
diff --git includes/database/sqlite/database.inc includes/database/sqlite/database.inc
index b20a121..aa3b9d0 100644
--- includes/database/sqlite/database.inc
+++ includes/database/sqlite/database.inc
@@ -178,10 +178,6 @@ class DatabaseConnection_sqlite extends DatabaseConnection {
     return 'sqlite';
   }
 
-  public function version() {
-    return $this->query('SELECT sqlite_version()')->fetchField();
-  }
-
   public function databaseType() {
     return 'sqlite';
   }
