: DB_REPLICA; // T154554
$edit->popts->setSpeculativeRevIdCallback( function () use ( $dbIndex ) {
- return 1 + (int)wfGetDB( $dbIndex )->selectField(
+ $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
+ // Use a fresh connection in order to see the latest data, by avoiding
+ // stale data from REPEATABLE-READ snapshots.
+ $db = $lb->getConnectionRef( $dbIndex, [], false, $lb::CONN_TRX_AUTO );
+
+ return 1 + (int)$db->selectField(
'revision',
'MAX(rev_id)',
[],
'ar_rev_id' => $row->rev_id,
'ar_parent_id' => $row->rev_parent_id,
'ar_text_id' => $row->rev_text_id,
- 'ar_text' => '',
- 'ar_flags' => '',
'ar_len' => $row->rev_len,
'ar_page_id' => $id,
'ar_deleted' => $suppress ? $bitfield : $row->rev_deleted,
if ( $wgUseRCPatrol ) {
// Mark all reverted edits as patrolled
- $set['rc_patrolled'] = 1;
+ $set['rc_patrolled'] = RecentChange::PRC_PATROLLED;
}
if ( count( $set ) ) {
Hooks::run( 'CategoryAfterPageRemoved', [ $cat, $this, $id ] );
}
- // Refresh counts on categories that should be empty now, to
- // trigger possible deletion. Check master for the most
- // up-to-date cat_pages.
+ // Refresh counts on categories that should be empty now
if ( count( $deleted ) ) {
$rows = $dbw->select(
'category',
[ 'cat_id', 'cat_title', 'cat_pages', 'cat_subcats', 'cat_files' ],
- [ 'cat_title' => $deleted, 'cat_pages <= 0' ],
+ [ 'cat_title' => $deleted, 'cat_pages <= 100' ],
__METHOD__
);
foreach ( $rows as $row ) {