summaryrefslogtreecommitdiff
path: root/maintenance/FiveUpgrade.inc
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/FiveUpgrade.inc')
-rw-r--r--maintenance/FiveUpgrade.inc47
1 files changed, 29 insertions, 18 deletions
diff --git a/maintenance/FiveUpgrade.inc b/maintenance/FiveUpgrade.inc
index 7ae8f5d0..5632241a 100644
--- a/maintenance/FiveUpgrade.inc
+++ b/maintenance/FiveUpgrade.inc
@@ -20,8 +20,9 @@ class FiveUpgrade {
function FiveUpgrade() {
$this->conversionTables = $this->prepareWindows1252();
- $this->dbw =& $this->newConnection();
- $this->dbr =& $this->streamConnection();
+ $this->loadBalancers = array();
+ $this->dbw = wfGetDB( DB_MASTER );
+ $this->dbr = $this->streamConnection();
$this->cleanupSwaps = array();
$this->emailAuth = false; # don't preauthenticate emails
@@ -67,13 +68,23 @@ class FiveUpgrade {
* @return Database
* @access private
*/
- function &newConnection() {
- global $wgDBadminuser, $wgDBadminpassword, $wgDBtype;
- global $wgDBserver, $wgDBname;
- $dbclass = 'Database' . ucfirst( $wgDBtype ) ;
- $db = new $dbclass( $wgDBserver, $wgDBadminuser, $wgDBadminpassword, $wgDBname );
+ function newConnection() {
+ $lb = wfGetLBFactory()->newMainLB();
+ $db = $lb->getConnection( DB_MASTER );
+
+ $this->loadBalancers[] = $lb;
return $db;
}
+
+ /**
+ * Commit transactions and close the connections when we're done...
+ */
+ function close() {
+ foreach( $this->loadBalancers as $lb ) {
+ $lb->commitMasterChanges();
+ $lb->closeAll();
+ }
+ }
/**
* Open a second connection to the master server, with buffering off.
@@ -82,13 +93,13 @@ class FiveUpgrade {
* @return Database
* @access private
*/
- function &streamConnection() {
+ function streamConnection() {
global $wgDBtype;
$timeout = 3600 * 24;
$db =& $this->newConnection();
$db->bufferResults( false );
- if ($wgDBtype == 'mysql') {
+ if ($wgDBtype == 'mysql') {
$db->query( "SET net_read_timeout=$timeout" );
$db->query( "SET net_write_timeout=$timeout" );
}
@@ -877,17 +888,17 @@ END;
$add = array();
while( $row = $this->dbr->fetchObject( $result ) ) {
$add[] = array(
- 'wl_user' => $row->wl_user,
- 'wl_namespace' => Namespace::getSubject( $row->wl_namespace ),
- 'wl_title' => $this->conv( $row->wl_title ),
- 'wl_notificationtimestamp' => '0' );
+ 'wl_user' => $row->wl_user,
+ 'wl_namespace' => MWNamespace::getSubject( $row->wl_namespace ),
+ 'wl_title' => $this->conv( $row->wl_title ),
+ 'wl_notificationtimestamp' => '0' );
$this->addChunk( $add );
$add[] = array(
- 'wl_user' => $row->wl_user,
- 'wl_namespace' => Namespace::getTalk( $row->wl_namespace ),
- 'wl_title' => $this->conv( $row->wl_title ),
- 'wl_notificationtimestamp' => '0' );
+ 'wl_user' => $row->wl_user,
+ 'wl_namespace' => MWNamespace::getTalk( $row->wl_namespace ),
+ 'wl_title' => $this->conv( $row->wl_title ),
+ 'wl_notificationtimestamp' => '0' );
$this->addChunk( $add );
}
$this->lastChunk( $add );
@@ -988,7 +999,7 @@ CREATE TABLE $1 (
-- Filename of target image.
-- This is also the page_title of the file's description page;
- -- all such pages are in namespace 6 (NS_IMAGE).
+ -- all such pages are in namespace 6 (NS_FILE).
il_to varchar(255) binary NOT NULL default '',
UNIQUE KEY il_from(il_from,il_to),