From d2484cc2676d2c4182703d463d278e008c650046 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Sat, 27 Jun 2009 10:33:47 +0000 Subject: [PATCH] Added script to populate log_user_text --- maintenance/populateLogUsertext.inc | 54 +++++++++++++++++++++++++++++ maintenance/populateLogUsertext.php | 17 +++++++++ 2 files changed, 71 insertions(+) create mode 100644 maintenance/populateLogUsertext.inc create mode 100644 maintenance/populateLogUsertext.php diff --git a/maintenance/populateLogUsertext.inc b/maintenance/populateLogUsertext.inc new file mode 100644 index 0000000000..2734852f20 --- /dev/null +++ b/maintenance/populateLogUsertext.inc @@ -0,0 +1,54 @@ +selectField( 'logging', 'MIN(log_id)', false, __FUNCTION__ ); + if( !$start ) { + echo "Nothing to do.\n"; + return true; + } + $end = $db->selectField( 'logging', 'MAX(log_id)', false, __FUNCTION__ ); + + # Do remaining chunk + $end += LOG_USERTEXT_BATCH_SIZE - 1; + $blockStart = $start; + $blockEnd = $start + LOG_USERTEXT_BATCH_SIZE - 1; + while( $blockEnd <= $end ) { + echo "...doing log_id from $blockStart to $blockEnd\n"; + $cond = "log_id BETWEEN $blockStart AND $blockEnd AND log_user = user_id"; + $res = $db->select( array('logging','user'), + array('log_id','user_name'), $cond, __FUNCTION__ ); + $batch = array(); + $db->begin(); + while( $row = $db->fetchObject( $res ) ) { + $db->update( 'logging', array('log_user_text' => $row->user_name), + array('log_id' => $row->log_id), __FUNCTION__ ); + } + $db->commit(); + $blockStart += LOG_USERTEXT_BATCH_SIZE; + $blockEnd += LOG_USERTEXT_BATCH_SIZE; + wfWaitForSlaves( 5 ); + } + if( $db->insert( + 'updatelog', + array( 'ul_key' => 'populate log_usertext' ), + __FUNCTION__, + 'IGNORE' + ) + ) { + wfOut( "log_usertext population complete.\n" ); + return true; + } else { + wfOut( "Could not insert log_usertext population row.\n" ); + return false; + } +} diff --git a/maintenance/populateLogUsertext.php b/maintenance/populateLogUsertext.php new file mode 100644 index 0000000000..99aedf221f --- /dev/null +++ b/maintenance/populateLogUsertext.php @@ -0,0 +1,17 @@ +