use Wikimedia\Rdbms\LBFactorySingle;
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBExpectedError;
+use Wikimedia\Rdbms\DBConnectionError;
/**
* Base class for DBMS-specific installation helper classes.
/**
* Perform database upgrades
*
+ * @suppress SecurityCheck-XSS Escaping provided by $this->outputHandler
* @return bool
*/
public function doUpgrade() {
$up = DatabaseUpdater::newForDB( $this->db );
try {
$up->doUpdates();
+ $up->purgeCache();
} catch ( MWException $e ) {
echo "\nAn error occurred:\n";
echo $e->getText();
echo $e->getMessage();
$ret = false;
}
- $up->purgeCache();
ob_end_flush();
return $ret;
return false;
}
- if ( !$this->db->selectDB( $this->getVar( 'wgDBname' ) ) ) {
+ try {
+ $this->db->selectDB( $this->getVar( 'wgDBname' ) );
+ } catch ( DBConnectionError $e ) {
+ // Don't catch DBConnectionError
+ throw $e;
+ } catch ( DBExpectedError $e ) {
return false;
}