Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F6571
kill_failfunction.patch
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Authored By
•
bzimport
Nov 21 2014, 11:01 PM
2014-11-21 23:01:04 (UTC+0)
Size
14 KB
Referenced Files
None
Subscribers
None
kill_failfunction.patch
View Options
Index: config/Installer.php
===================================================================
--- config/Installer.php (revision 71254)
+++ config/Installer.php (working copy)
@@ -929,7 +929,6 @@
$conf->RootUser,
$conf->RootPW,
false,
- false,
1
);
if ( !$wgDatabase->isOpen() ) {
@@ -1049,7 +1048,7 @@
$wgDBadminuser = $conf->RootUser;
$wgDBadminpassword = $conf->RootPW;
echo "<li>Attempting to create DB user.</li>";
- $wgDatabase = $dbc->newFromParams('DUMMY', $wgDBadminuser, $wgDBadminpassword, $wgDBname, 1, 64);
+ $wgDatabase = $dbc->newFromParams('DUMMY', $wgDBadminuser, $wgDBadminpassword, $wgDBname, 64);
if ($wgDatabase->isOpen()) {
$wgDBOracleDefTS = $conf->DBdefTS_ora;
$wgDBOracleTempTS = $conf->DBtempTS_ora;
Index: includes/db/Database.php
===================================================================
--- includes/db/Database.php (revision 71254)
+++ includes/db/Database.php (working copy)
@@ -32,7 +32,6 @@
protected $mServer, $mUser, $mPassword, $mConn = null, $mDBname;
protected $mOpened = false;
- protected $mFailFunction;
protected $mTablePrefix;
protected $mFlags;
protected $mTrxLevel = 0;
@@ -47,14 +46,6 @@
# These optionally set a variable and return the previous state
/**
- * Fail function, takes a Database as a parameter
- * Set to false for default, 1 for ignore errors
- */
- function failFunction( $function = null ) {
- return wfSetVar( $this->mFailFunction, $function );
- }
-
- /**
* Boolean, controls output of large amounts of debug information
*/
function debug( $debug = null ) {
@@ -291,12 +282,11 @@
* @param $user String: database user name
* @param $password String: database user password
* @param $dbName String: database name
- * @param $failFunction
* @param $flags
* @param $tablePrefix String: database table prefixes. By default use the prefix gave in LocalSettings.php
*/
function __construct( $server = false, $user = false, $password = false, $dbName = false,
- $failFunction = false, $flags = 0, $tablePrefix = 'get from global' ) {
+ $flags = 0, $tablePrefix = 'get from global' ) {
global $wgOut, $wgDBprefix, $wgCommandLineMode;
# Can't get a reference if it hasn't been set yet
@@ -304,7 +294,6 @@
$wgOut = null;
}
- $this->mFailFunction = $failFunction;
$this->mFlags = $flags;
if ( $this->mFlags & DBO_DEFAULT ) {
@@ -340,18 +329,16 @@
* @param $user String: database user name
* @param $password String: database user password
* @param $dbName String: database name
- * @param failFunction
* @param $flags
*/
- static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0 )
+ static function newFromParams( $server, $user, $password, $dbName, $flags = 0 )
{
wfDeprecated( __METHOD__ );
- return new DatabaseMysql( $server, $user, $password, $dbName, $failFunction, $flags );
+ return new DatabaseMysql( $server, $user, $password, $dbName, $flags );
}
/**
* Usually aborts on failure
- * If the failFunction is set to a non-zero integer, returns success
* @param $server String: database server host
* @param $user String: database user name
* @param $password String: database user password
@@ -403,16 +390,7 @@
$error = $myError;
}
- if ( $this->mFailFunction ) {
- # Legacy error handling method
- if ( !is_int( $this->mFailFunction ) ) {
- $ff = $this->mFailFunction;
- $ff( $this, $error );
- }
- } else {
- # New method
- throw new DBConnectionError( $this, $error );
- }
+ throw new DBConnectionError( $this, $error );
}
/**
Index: includes/db/DatabaseIbm_db2.php
===================================================================
--- includes/db/DatabaseIbm_db2.php (revision 71254)
+++ includes/db/DatabaseIbm_db2.php (working copy)
@@ -112,7 +112,6 @@
protected $mServer, $mUser, $mPassword, $mConn = null, $mDBname;
protected $mOut, $mOpened = false;
- protected $mFailFunction;
protected $mTablePrefix;
protected $mFlags;
protected $mTrxLevel = 0;
@@ -164,7 +163,6 @@
* These can be safely inherited
*
* Getter/Setter: (18)
- * failFunction
* bufferResults
* ignoreErrors
* trxLevel
@@ -405,22 +403,19 @@
* @param $user String: username
* @param $password String: password
* @param $dbName String: database name on the server
- * @param $failFunction Callback (optional)
* @param $flags Integer: database behaviour flags (optional, unused)
* @param $schema String
*/
public function DatabaseIbm_db2($server = false, $user = false, $password = false,
- $dbName = false, $failFunction = false, $flags = 0,
+ $dbName = false, $flags = 0,
$schema = self::USE_GLOBAL )
{
-
global $wgOut, $wgDBmwschema;
# Can't get a reference if it hasn't been set yet
if ( !isset( $wgOut ) ) {
$wgOut = null;
}
$this->mOut =& $wgOut;
- $this->mFailFunction = $failFunction;
$this->mFlags = DBO_TRX | $flags;
if ( $schema == self::USE_GLOBAL ) {
@@ -579,13 +574,11 @@
* @param $user String: username
* @param $password String
* @param $dbName String: database name on the server
- * @param $failFunction Callback (optional)
* @param $flags Integer: database behaviour flags (optional, unused)
* @return DatabaseIbm_db2 object
*/
- static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0)
- {
- return new DatabaseIbm_db2( $server, $user, $password, $dbName, $failFunction, $flags );
+ static function newFromParams( $server, $user, $password, $dbName, $flags = 0) {
+ return new DatabaseIbm_db2( $server, $user, $password, $dbName, $flags );
}
/**
Index: includes/db/DatabaseMssql.php
===================================================================
--- includes/db/DatabaseMssql.php (revision 71254)
+++ includes/db/DatabaseMssql.php (working copy)
@@ -18,12 +18,10 @@
var $mAffectedRows = NULL;
function __construct( $server = false, $user = false, $password = false, $dbName = false,
- $failFunction = false, $flags = 0 )
+ $flags = 0 )
{
- $this->mFailFunction = $failFunction;
$this->mFlags = $flags;
$this->open( $server, $user, $password, $dbName );
-
}
function cascadingDeletes() {
@@ -51,14 +49,12 @@
return false;
}
- static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0 )
- {
- return new DatabaseMssql( $server, $user, $password, $dbName, $failFunction, $flags );
+ static function newFromParams( $server, $user, $password, $dbName, $flags = 0 ) {
+ return new DatabaseMssql( $server, $user, $password, $dbName, $flags );
}
/**
* Usually aborts on failure
- * If the failFunction is set to a non-zero integer, returns success
*/
function open( $server, $user, $password, $dbName ) {
# Test for driver support, to avoid suppressed fatal error
Index: includes/db/DatabaseOracle.php
===================================================================
--- includes/db/DatabaseOracle.php (revision 71254)
+++ includes/db/DatabaseOracle.php (working copy)
@@ -185,10 +185,10 @@
var $mFieldInfoCache = array();
function __construct( $server = false, $user = false, $password = false, $dbName = false,
- $failFunction = false, $flags = 0, $tablePrefix = 'get from global' )
+ $flags = 0, $tablePrefix = 'get from global' )
{
$tablePrefix = $tablePrefix == 'get from global' ? $tablePrefix : strtoupper( $tablePrefix );
- parent::__construct( $server, $user, $password, $dbName, $failFunction, $flags, $tablePrefix );
+ parent::__construct( $server, $user, $password, $dbName, $flags, $tablePrefix );
wfRunHooks( 'DatabaseOraclePostInit', array( &$this ) );
}
@@ -218,14 +218,12 @@
return true;
}
- static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0 )
- {
- return new DatabaseOracle( $server, $user, $password, $dbName, $failFunction, $flags );
+ static function newFromParams( $server, $user, $password, $dbName, $flags = 0 ){
+ return new DatabaseOracle( $server, $user, $password, $dbName, $flags );
}
/**
* Usually aborts on failure
- * If the failFunction is set to a non-zero integer, returns success
*/
function open( $server, $user, $password, $dbName ) {
if ( !function_exists( 'oci_connect' ) ) {
Index: includes/db/DatabasePostgres.php
===================================================================
--- includes/db/DatabasePostgres.php (revision 71254)
+++ includes/db/DatabasePostgres.php (working copy)
@@ -97,13 +97,10 @@
var $mAffectedRows = null;
function DatabasePostgres($server = false, $user = false, $password = false, $dbName = false,
- $failFunction = false, $flags = 0 )
+ $flags = 0 )
{
-
- $this->mFailFunction = $failFunction;
$this->mFlags = $flags;
$this->open( $server, $user, $password, $dbName);
-
}
function getType() {
@@ -141,14 +138,12 @@
return $this->numRows($res = $this->doQuery($SQL));
}
- static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0)
- {
- return new DatabasePostgres( $server, $user, $password, $dbName, $failFunction, $flags );
+ static function newFromParams( $server, $user, $password, $dbName, $flags = 0) {
+ return new DatabasePostgres( $server, $user, $password, $dbName, $flags );
}
/**
* Usually aborts on failure
- * If the failFunction is set to a non-zero integer, returns success
*/
function open( $server, $user, $password, $dbName ) {
# Test for Postgres support, to avoid suppressed fatal error
@@ -188,11 +183,7 @@
wfDebug( "DB connection error\n" );
wfDebug( "Server: $server, Database: $dbName, User: $user, Password: " . substr( $password, 0, 3 ) . "...\n" );
wfDebug( $this->lastError()."\n" );
- if ( !$this->mFailFunction ) {
- throw new DBConnectionError( $this, $phpError );
- } else {
- return false;
- }
+ throw new DBConnectionError( $this, $phpError );
}
$this->mOpened = true;
Index: includes/db/DatabaseSqlite.php
===================================================================
--- includes/db/DatabaseSqlite.php (revision 71254)
+++ includes/db/DatabaseSqlite.php (working copy)
@@ -23,9 +23,8 @@
* Constructor.
* Parameters $server, $user and $password are not used.
*/
- function __construct( $server = false, $user = false, $password = false, $dbName = false, $failFunction = false, $flags = 0 ) {
+ function __construct( $server = false, $user = false, $password = false, $dbName = false, $flags = 0 ) {
global $wgSharedDB;
- $this->mFailFunction = $failFunction;
$this->mFlags = $flags;
$this->mName = $dbName;
@@ -53,8 +52,8 @@
*/
function implicitGroupby() { return false; }
- static function newFromParams( $server, $user, $password, $dbName, $failFunction = false, $flags = 0 ) {
- return new DatabaseSqlite( $server, $user, $password, $dbName, $failFunction, $flags );
+ static function newFromParams( $server, $user, $password, $dbName, $flags = 0 ) {
+ return new DatabaseSqlite( $server, $user, $password, $dbName, $flags );
}
/** Open an SQLite database and return a resource handle to it
@@ -90,12 +89,7 @@
}
if ( $this->mConn === false ) {
wfDebug( "DB connection error: $err\n" );
- if ( !$this->mFailFunction ) {
- throw new DBConnectionError( $this, $err );
- } else {
- return false;
- }
-
+ throw new DBConnectionError( $this, $err );
}
$this->mOpened = !!$this->mConn;
# set error codes only, don't raise exceptions
Index: includes/db/LoadBalancer.php
===================================================================
--- includes/db/LoadBalancer.php (revision 71254)
+++ includes/db/LoadBalancer.php (working copy)
@@ -14,7 +14,7 @@
*/
class LoadBalancer {
/* private */ var $mServers, $mConns, $mLoads, $mGroupLoads;
- /* private */ var $mFailFunction, $mErrorConnection;
+ /* private */ var $mErrorConnection;
/* private */ var $mReadIndex, $mAllowLagged;
/* private */ var $mWaitForPos, $mWaitTimeout;
/* private */ var $mLaggedSlaveMode, $mLastError = 'Unknown error';
@@ -24,7 +24,6 @@
/**
* @param $params Array with keys:
* servers Required. Array of server info structures.
- * failFunction Deprecated, use exceptions instead.
* masterWaitTimeout Replication lag wait timeout
* loadMonitor Name of a class used to fetch server lag and load.
*/
@@ -35,11 +34,6 @@
}
$this->mServers = $params['servers'];
- if ( isset( $params['failFunction'] ) ) {
- $this->mFailFunction = $params['failFunction'];
- } else {
- $this->mFailFunction = false;
- }
if ( isset( $params['waitTimeout'] ) ) {
$this->mWaitTimeout = $params['waitTimeout'];
} else {
@@ -73,9 +67,9 @@
}
}
- static function newFromParams( $servers, $failFunction = false, $waitTimeout = 10 )
+ static function newFromParams( $servers, $waitTimeout = 10 )
{
- return new LoadBalancer( $servers, $failFunction, $waitTimeout );
+ return new LoadBalancer( $servers, $waitTimeout );
}
/**
@@ -672,19 +666,11 @@
// No last connection, probably due to all servers being too busy
wfLogDBError( "LB failure with no last connection\n" );
$conn = new Database;
- if ( $this->mFailFunction ) {
- $conn->failFunction( $this->mFailFunction );
- $conn->reportConnectionError( $this->mLastError );
- } else {
- // If all servers were busy, mLastError will contain something sensible
- throw new DBConnectionError( $conn, $this->mLastError );
- }
+
+ // If all servers were busy, mLastError will contain something sensible
+ throw new DBConnectionError( $conn, $this->mLastError );
} else {
- if ( $this->mFailFunction ) {
- $conn->failFunction( $this->mFailFunction );
- } else {
- $conn->failFunction( false );
- }
+
$server = $conn->getProperty( 'mServer' );
wfLogDBError( "Connection error: {$this->mLastError} ({$server})\n" );
$conn->reportConnectionError( "{$this->mLastError} ({$server})" );
Index: maintenance/tests/SearchUpdateTest.php
===================================================================
--- maintenance/tests/SearchUpdateTest.php (revision 71254)
+++ maintenance/tests/SearchUpdateTest.php (working copy)
@@ -2,7 +2,7 @@
class DatabaseMock extends DatabaseBase {
function __construct( $server = false, $user = false, $password = false, $dbName = false,
- $failFunction = false, $flags = 0, $tablePrefix = 'get from global' )
+ $flags = 0, $tablePrefix = 'get from global' )
{
$this->mConn = true;
$this->mOpened = true;
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6111
Default Alt Text
kill_failfunction.patch (14 KB)
Attached To
Mode
T26853: Kill failFunction
Attached
Detach File
Event Timeline
Log In to Comment