http://www.mediawiki.org/wiki/Special:Code/MediaWiki/60816
Revision: 60816 Author: tstarling Date: 2010-01-08 00:31:24 +0000 (Fri, 08 Jan 2010) Log Message: ----------- For r60757: implement Database::getType() explicitly in each subclass, to make Roan happy. Modified Paths: -------------- trunk/phase3/includes/db/Database.php trunk/phase3/includes/db/DatabaseIbm_db2.php trunk/phase3/includes/db/DatabaseMssql.php trunk/phase3/includes/db/DatabaseMysql.php trunk/phase3/includes/db/DatabaseOracle.php trunk/phase3/includes/db/DatabasePostgres.php trunk/phase3/includes/db/DatabaseSqlite.php Modified: trunk/phase3/includes/db/Database.php =================================================================== --- trunk/phase3/includes/db/Database.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/Database.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -287,13 +287,7 @@ /** * 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 Modified: trunk/phase3/includes/db/DatabaseIbm_db2.php =================================================================== --- trunk/phase3/includes/db/DatabaseIbm_db2.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/DatabaseIbm_db2.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -391,8 +391,11 @@ return $this->mDBname; } } + + function getType() { + return 'ibm_db2'; + } - ###################################### # Setup ###################################### Modified: trunk/phase3/includes/db/DatabaseMssql.php =================================================================== --- trunk/phase3/includes/db/DatabaseMssql.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/DatabaseMssql.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -45,6 +45,10 @@ } + function getType() { + return 'mssql'; + } + /** * todo: check if these should be true like parent class */ Modified: trunk/phase3/includes/db/DatabaseMysql.php =================================================================== --- trunk/phase3/includes/db/DatabaseMysql.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/DatabaseMysql.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -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 ); Modified: trunk/phase3/includes/db/DatabaseOracle.php =================================================================== --- trunk/phase3/includes/db/DatabaseOracle.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/DatabaseOracle.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -192,6 +192,10 @@ wfRunHooks( 'DatabaseOraclePostInit', array( &$this ) ); } + function getType() { + return 'oracle'; + } + function cascadingDeletes() { return true; } Modified: trunk/phase3/includes/db/DatabasePostgres.php =================================================================== --- trunk/phase3/includes/db/DatabasePostgres.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/DatabasePostgres.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -84,6 +84,10 @@ } + function getType() { + return 'postgres'; + } + function cascadingDeletes() { return true; } Modified: trunk/phase3/includes/db/DatabaseSqlite.php =================================================================== --- trunk/phase3/includes/db/DatabaseSqlite.php 2010-01-08 00:02:17 UTC (rev 60815) +++ trunk/phase3/includes/db/DatabaseSqlite.php 2010-01-08 00:31:24 UTC (rev 60816) @@ -32,6 +32,10 @@ $this->open( $server, $user, $password, $dbName ); } + function getType() { + return 'sqlite'; + } + /** * @todo: check if it should be true like parent class */ _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs