rdbms: make LoadBalancer::getConnection() ignore CONN_TRX_AUTO when unusable
[lhc/web/wiklou.git] / maintenance / populateLogUsertext.php
index c5c079a..cacd067 100644 (file)
@@ -58,13 +58,22 @@ class PopulateLogUsertext extends LoggedUpdateMaintenance {
                }
                $end = $db->selectField( 'logging', 'MAX(log_id)', false, __METHOD__ );
 
+               // If this is being run during an upgrade from 1.16 or earlier, this
+               // will be run before the actor table change and should continue. But
+               // if it's being run on a new installation, the field won't exist to be populated.
+               if ( !$db->fieldInfo( 'logging', 'log_user_text' ) ) {
+                       $this->output( "No log_user_text field, nothing to do.\n" );
+                       return true;
+               }
+
                # Do remaining chunk
                $end += $batchSize - 1;
                $blockStart = $start;
                $blockEnd = $start + $batchSize - 1;
                while ( $blockEnd <= $end ) {
                        $this->output( "...doing log_id from $blockStart to $blockEnd\n" );
-                       $cond = "log_id BETWEEN $blockStart AND $blockEnd AND log_user = user_id";
+                       $cond = "log_id BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd .
+                               " AND log_user = user_id";
                        $res = $db->select( [ 'logging', 'user' ],
                                [ 'log_id', 'user_name' ], $cond, __METHOD__ );
 
@@ -76,7 +85,6 @@ class PopulateLogUsertext extends LoggedUpdateMaintenance {
                        $this->commitTransaction( $db, __METHOD__ );
                        $blockStart += $batchSize;
                        $blockEnd += $batchSize;
-                       wfWaitForSlaves();
                }
                $this->output( "Done populating log_user_text field.\n" );
 
@@ -84,5 +92,5 @@ class PopulateLogUsertext extends LoggedUpdateMaintenance {
        }
 }
 
-$maintClass = "PopulateLogUsertext";
+$maintClass = PopulateLogUsertext::class;
 require_once RUN_MAINTENANCE_IF_MAIN;