From fd3794c5bce3c9b8a487892df2a2c146718a7cfe Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 8 Jan 2010 00:31:24 +0000 Subject: [PATCH] For r60757: implement Database::getType() explicitly in each subclass, to make Roan happy. --- includes/db/Database.php | 8 +------- includes/db/DatabaseIbm_db2.php | 5 ++++- includes/db/DatabaseMssql.php | 4 ++++ includes/db/DatabaseMysql.php | 4 ++++ includes/db/DatabaseOracle.php | 4 ++++ includes/db/DatabasePostgres.php | 4 ++++ includes/db/DatabaseSqlite.php | 4 ++++ 7 files changed, 25 insertions(+), 8 deletions(-) diff --git a/includes/db/Database.php b/includes/db/Database.php index ef1abfc5eb..28c3c94648 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -287,13 +287,7 @@ abstract class DatabaseBase { /** * Get the type of the DBMS, as it appears in $wgDBtype. */ - function getType() { - if ( preg_match( '/^Database(\w+)$/', get_class( $this ), $m ) ) { - return strtolower( $m[1] ); - } else { - throw new MWException( get_class( $this ) .'::getType: unable to determine type.' ); - } - } + abstract function getType(); #------------------------------------------------------------------------------ # Other functions diff --git a/includes/db/DatabaseIbm_db2.php b/includes/db/DatabaseIbm_db2.php index cc95b1706a..ef412d5159 100644 --- a/includes/db/DatabaseIbm_db2.php +++ b/includes/db/DatabaseIbm_db2.php @@ -391,7 +391,10 @@ class DatabaseIbm_db2 extends DatabaseBase { return $this->mDBname; } } - + + function getType() { + return 'ibm_db2'; + } ###################################### # Setup diff --git a/includes/db/DatabaseMssql.php b/includes/db/DatabaseMssql.php index e81c8ad646..6b1206b0d9 100644 --- a/includes/db/DatabaseMssql.php +++ b/includes/db/DatabaseMssql.php @@ -45,6 +45,10 @@ class DatabaseMssql extends DatabaseBase { } + function getType() { + return 'mssql'; + } + /** * todo: check if these should be true like parent class */ diff --git a/includes/db/DatabaseMysql.php b/includes/db/DatabaseMysql.php index d632e42381..5ae4a222c7 100644 --- a/includes/db/DatabaseMysql.php +++ b/includes/db/DatabaseMysql.php @@ -7,6 +7,10 @@ * @see Database */ class DatabaseMysql extends DatabaseBase { + function getType() { + return 'mysql'; + } + /*private*/ function doQuery( $sql ) { if( $this->bufferResults() ) { $ret = mysql_query( $sql, $this->mConn ); diff --git a/includes/db/DatabaseOracle.php b/includes/db/DatabaseOracle.php index fe72d6b606..2b5290e0be 100644 --- a/includes/db/DatabaseOracle.php +++ b/includes/db/DatabaseOracle.php @@ -192,6 +192,10 @@ class DatabaseOracle extends DatabaseBase { wfRunHooks( 'DatabaseOraclePostInit', array( &$this ) ); } + function getType() { + return 'oracle'; + } + function cascadingDeletes() { return true; } diff --git a/includes/db/DatabasePostgres.php b/includes/db/DatabasePostgres.php index e1424b6e15..9a834ba002 100644 --- a/includes/db/DatabasePostgres.php +++ b/includes/db/DatabasePostgres.php @@ -84,6 +84,10 @@ class DatabasePostgres extends DatabaseBase { } + function getType() { + return 'postgres'; + } + function cascadingDeletes() { return true; } diff --git a/includes/db/DatabaseSqlite.php b/includes/db/DatabaseSqlite.php index 8ad2acafd6..457d895965 100644 --- a/includes/db/DatabaseSqlite.php +++ b/includes/db/DatabaseSqlite.php @@ -32,6 +32,10 @@ class DatabaseSqlite extends DatabaseBase { $this->open( $server, $user, $password, $dbName ); } + function getType() { + return 'sqlite'; + } + /** * @todo: check if it should be true like parent class */ -- 2.20.1