Pasting lines typo in r80025
[lhc/web/wiklou.git] / maintenance / purgeStaleMemcachedFlaggedRevs.php
1 <?php
2
3 require_once( dirname( __FILE__ ) . '/commandLine.inc' );
4
5 function purgeStaleMemcachedText() {
6 global $wgMemc, $wgDBname;
7 $db = wfGetDB( DB_MASTER );
8 $maxTextId = $db->selectField( 'text', 'max(old_id)' );
9 $latestReplicatedTextId = $db->selectField( array( 'recentchanges', 'revision' ), 'rev_text_id',
10 array( 'rev_id = rc_this_oldid', "rc_timestamp < '20101225183000'"), 'purgeStaleMemcachedText',
11 array( 'ORDER BY' => 'rc_timestamp DESC' ) );
12 $latestReplicatedTextId -= 100; # A bit of paranoia
13
14 echo "Going to purge text entries from $latestReplicatedTextId to $maxTextId in $wgDBname\n";
15
16 for ( $i = $latestReplicatedTextId; $i < $maxTextId; $i++ ) {
17 $keys = array();
18 $keys[] = wfMemcKey( 'flaggedrevs', 'countPending', $i );
19 $keys[] = wfMemcKey( 'flaggedrevs', 'includesSynced', $i );
20 $keys[] = wfMemcKey( 'flaggedrevs', 'overrideRedirect', $i );
21 $keys[] = wfMemcKey( 'unreviewedPages', 'underReview', $i );
22
23 foreach ( $keys as $key ) {
24 while (1) {
25 if (! $wgMemc->delete( $key ) ) {
26 echo "Memcache delete for $key returned false\n";
27 }
28 if ( $wgMemc->get( $key ) ) {
29 echo "There's still content in $key!\n";
30 } else {
31 break;
32 }
33 }
34 }
35 }
36 }
37
38 purgeStaleMemcachedText();
39