rc_timestamp; $sql = "DELETE FROM recentchanges WHERE rc_timestamp < '{$ts}'"; wfQuery( $sql, DB_WRITE ); } function rebuildRecentChangesTablePass2() { $ns = $id = $count = 0; $title = $ct = ""; print( "Updating links...\n" ); # Fill in the rc_last_oldid field, which points to the previous edit # $sql = "SELECT rc_cur_id,rc_this_oldid,rc_timestamp FROM recentchanges " . "ORDER BY rc_cur_id,rc_timestamp"; $res = wfQuery( $sql, DB_WRITE ); $lastCurId = 0; $lastOldId = 0; while ( $obj = wfFetchObject( $res ) ) { $new = 0; if( $obj->rc_cur_id != $lastCurId ) { # Switch! Look up the previous last edit, if any $lastCurId = IntVal( $obj->rc_cur_id ); $emit = wfInvertTimestamp( $obj->rc_timestamp ); $sql2 = "SELECT old_id FROM old,cur " . "WHERE old_namespace=cur_namespace AND old_title=cur_title AND cur_id={$lastCurId} ". "AND old.inverse_timestamp>'{$emit}' ORDER BY old.inverse_timestamp LIMIT 1"; $res2 = wfQuery( $sql2, DB_WRITE ); if( $row = wfFetchObject( $res2 ) ) { $lastOldId = IntVal( $row->old_id ); } else { # No previous edit $lastOldId = 0; $new = 1; } wfFreeResult( $res2 ); } if( $lastCurId == 0 ) { print "Uhhh, something wrong? No curid\n"; } else { $sql3 = "UPDATE recentchanges SET rc_last_oldid=$lastOldId,rc_new=$new,rc_type=$new WHERE rc_cur_id={$lastCurId} AND rc_this_oldid={$obj->rc_this_oldid}"; wfQuery( $sql3, DB_WRITE ); $lastOldId = IntVal( $obj->rc_this_oldid ); } } wfFreeResult( $res ); } ?>