Add .php5 entry for mwScriptLoader.
[lhc/web/wiklou.git] / maintenance / populateLogUsertext.inc
1 <?php
2 /**
3 * Makes the required database updates for the log_user_text column
4 *
5 * Run via update.php or directly through populateLogUsertext.php
6 *
7 * @file
8 * @ingroup Maintenance
9 */
10
11 define( 'LOG_USERTEXT_BATCH_SIZE', 100 );
12
13 function populate_logusertext( $db ) {
14 $start = $db->selectField( 'logging', 'MIN(log_id)', false, __FUNCTION__ );
15 if( !$start ) {
16 echo "Nothing to do.\n";
17 return true;
18 }
19 $end = $db->selectField( 'logging', 'MAX(log_id)', false, __FUNCTION__ );
20
21 # Do remaining chunk
22 $end += LOG_USERTEXT_BATCH_SIZE - 1;
23 $blockStart = $start;
24 $blockEnd = $start + LOG_USERTEXT_BATCH_SIZE - 1;
25 while( $blockEnd <= $end ) {
26 echo "...doing log_id from $blockStart to $blockEnd\n";
27 $cond = "log_id BETWEEN $blockStart AND $blockEnd AND log_user = user_id";
28 $res = $db->select( array('logging','user'),
29 array('log_id','user_name'), $cond, __FUNCTION__ );
30 $batch = array();
31 $db->begin();
32 while( $row = $db->fetchObject( $res ) ) {
33 $db->update( 'logging', array('log_user_text' => $row->user_name),
34 array('log_id' => $row->log_id), __FUNCTION__ );
35 }
36 $db->commit();
37 $blockStart += LOG_USERTEXT_BATCH_SIZE;
38 $blockEnd += LOG_USERTEXT_BATCH_SIZE;
39 wfWaitForSlaves( 5 );
40 }
41 if( $db->insert(
42 'updatelog',
43 array( 'ul_key' => 'populate log_usertext' ),
44 __FUNCTION__,
45 'IGNORE'
46 )
47 ) {
48 wfOut( "log_usertext population complete.\n" );
49 return true;
50 } else {
51 wfOut( "Could not insert log_usertext population row.\n" );
52 return false;
53 }
54 }