From d20794df5c15333c54b80120c97ae51b78d37047 Mon Sep 17 00:00:00 2001 From: Aryeh Gregor Date: Fri, 12 Jun 2009 17:59:04 +0000 Subject: [PATCH] Make Database into abstract class DatabaseBase All other databases were changed to extend DatabaseBase instead of Database. Database was kept as an alias for DatabaseMysql for compatibility. Existing explicit references to Database that I could find were changed to DatabaseMysql for the sake of clarity. Should cause no functional changes. --- includes/AutoLoader.php | 1 + includes/db/Database.php | 13 +++++++++---- includes/db/DatabaseIbm_db2.php | 2 +- includes/db/DatabaseMssql.php | 2 +- includes/db/DatabaseOracle.php | 2 +- includes/db/DatabasePostgres.php | 2 +- includes/db/DatabaseSqlite.php | 2 +- t/inc/Database.t | 2 +- tests/MediaWiki_TestCase.php | 2 +- 9 files changed, 17 insertions(+), 11 deletions(-) diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index a43ed3ff2d..62db99545a 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -303,6 +303,7 @@ $wgAutoloadLocalClasses = array( 'Blob' => 'includes/db/Database.php', 'ChronologyProtector' => 'includes/db/LBFactory.php', 'Database' => 'includes/db/Database.php', + 'DatabaseBase' => 'includes/db/Database.php', 'DatabaseMssql' => 'includes/db/DatabaseMssql.php', 'DatabaseMysql' => 'includes/db/Database.php', 'DatabaseOracle' => 'includes/db/DatabaseOracle.php', diff --git a/includes/db/Database.php b/includes/db/Database.php index 40dc2e816c..e96e584d4d 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -19,7 +19,7 @@ define( 'DEADLOCK_DELAY_MAX', 1500000 ); * Database abstraction object * @ingroup Database */ -class Database { +abstract class DatabaseBase { #------------------------------------------------------------------------------ # Variables @@ -307,7 +307,7 @@ class Database { } /** - * Same as new Database( ... ), kept for backward compatibility + * Same as new DatabaseMysql( ... ), kept for backward compatibility * @param $server String: database server host * @param $user String: database user name * @param $password String: database user password @@ -317,7 +317,7 @@ class Database { */ static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0 ) { - return new Database( $server, $user, $password, $dbName, $failFunction, $flags ); + return new DatabaseMysql( $server, $user, $password, $dbName, $failFunction, $flags ); } /** @@ -2426,10 +2426,15 @@ class Database { * @ingroup Database * @see Database */ -class DatabaseMysql extends Database { +class DatabaseMysql extends DatabaseBase { # Inherit all } +/** + * Legacy support: Database == DatabaseMysql + */ +class Database extends DatabaseMysql {} + /****************************************************************************** * Utility classes *****************************************************************************/ diff --git a/includes/db/DatabaseIbm_db2.php b/includes/db/DatabaseIbm_db2.php index 6f7b675c84..7fdfd3aa8a 100644 --- a/includes/db/DatabaseIbm_db2.php +++ b/includes/db/DatabaseIbm_db2.php @@ -102,7 +102,7 @@ class IBM_DB2Blob { * Primary database interface * @ingroup Database */ -class DatabaseIbm_db2 extends Database { +class DatabaseIbm_db2 extends DatabaseBase { /* * Inherited members protected $mLastQuery = ''; diff --git a/includes/db/DatabaseMssql.php b/includes/db/DatabaseMssql.php index 524fa07144..66f67576e7 100644 --- a/includes/db/DatabaseMssql.php +++ b/includes/db/DatabaseMssql.php @@ -10,7 +10,7 @@ /** * @ingroup Database */ -class DatabaseMssql extends Database { +class DatabaseMssql extends DatabaseBase { var $mAffectedRows; var $mLastResult; diff --git a/includes/db/DatabaseOracle.php b/includes/db/DatabaseOracle.php index 0d3effe5be..fbfcbeeb8f 100644 --- a/includes/db/DatabaseOracle.php +++ b/includes/db/DatabaseOracle.php @@ -153,7 +153,7 @@ class ORAField { /** * @ingroup Database */ -class DatabaseOracle extends Database { +class DatabaseOracle extends DatabaseBase { var $mInsertId = NULL; var $mLastResult = NULL; var $numeric_version = NULL; diff --git a/includes/db/DatabasePostgres.php b/includes/db/DatabasePostgres.php index 3a2212af81..d477834619 100644 --- a/includes/db/DatabasePostgres.php +++ b/includes/db/DatabasePostgres.php @@ -68,7 +68,7 @@ END; /** * @ingroup Database */ -class DatabasePostgres extends Database { +class DatabasePostgres extends DatabaseBase { var $mInsertId = NULL; var $mLastResult = NULL; var $numeric_version = NULL; diff --git a/includes/db/DatabaseSqlite.php b/includes/db/DatabaseSqlite.php index 525e54b9c1..5907b46a1a 100644 --- a/includes/db/DatabaseSqlite.php +++ b/includes/db/DatabaseSqlite.php @@ -10,7 +10,7 @@ /** * @ingroup Database */ -class DatabaseSqlite extends Database { +class DatabaseSqlite extends DatabaseBase { var $mAffectedRows; var $mLastResult; diff --git a/t/inc/Database.t b/t/inc/Database.t index 3907779d58..edff163fd6 100644 --- a/t/inc/Database.t +++ b/t/inc/Database.t @@ -12,7 +12,7 @@ require 'includes/Setup.php'; plan( 9 ); -$db = new Database( $wgDBserver, $wgDBuser, $wgDBpassword ); +$db = new DatabaseMysql( $wgDBserver, $wgDBuser, $wgDBpassword ); cmp_ok( $db->addQuotes( NULL ), '==', 'NULL', 'Add quotes to NULL' ); diff --git a/tests/MediaWiki_TestCase.php b/tests/MediaWiki_TestCase.php index 387fe0111f..2692398f8b 100644 --- a/tests/MediaWiki_TestCase.php +++ b/tests/MediaWiki_TestCase.php @@ -8,7 +8,7 @@ abstract class MediaWiki_TestCase extends PHPUnit_Framework_TestCase { protected function buildTestDatabase( $tables ) { global $testOptions, $wgDBprefix, $wgDBserver, $wgDBadminuser, $wgDBadminpassword, $wgDBname; $wgDBprefix = 'parsertest_'; - $db = new Database( + $db = new DatabaseMysql( $wgDBserver, $wgDBadminuser, $wgDBadminpassword, -- 2.20.1