mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionTools
synced 2024-09-23 18:38:18 +00:00
Merge "ThreadItemStore: Fix updates for identical revision timestamps"
This commit is contained in:
commit
2e28320eb2
|
@ -483,6 +483,8 @@ class ThreadItemStore {
|
|||
->join( 'revision', 'revision_oldest', [ 'itp_oldest_revision_id = revision_oldest.rev_id' ] )
|
||||
->join( 'revision', 'revision_newest', [ 'itp_newest_revision_id = revision_newest.rev_id' ] )
|
||||
->field( 'itp_id' )
|
||||
->field( 'revision_oldest.rev_id', 'oldest_rev_id' )
|
||||
->field( 'revision_newest.rev_id', 'newest_rev_id' )
|
||||
->field( 'revision_oldest.rev_timestamp', 'oldest_rev_timestamp' )
|
||||
->field( 'revision_newest.rev_timestamp', 'newest_rev_timestamp' )
|
||||
->where( [
|
||||
|
@ -502,17 +504,22 @@ class ThreadItemStore {
|
|||
$method
|
||||
);
|
||||
} else {
|
||||
$existingTime = ( new MWTimestamp( $itemPagesRow->oldest_rev_timestamp ) )->getTimestamp( TS_MW );
|
||||
if ( $existingTime >= $rev->getTimestamp() ) {
|
||||
$oldestTime = ( new MWTimestamp( $itemPagesRow->oldest_rev_timestamp ) )->getTimestamp( TS_MW );
|
||||
$newestTime = ( new MWTimestamp( $itemPagesRow->newest_rev_timestamp ) )->getTimestamp( TS_MW );
|
||||
$currentTime = $rev->getTimestamp();
|
||||
|
||||
$oldestId = (int)$itemPagesRow->oldest_rev_id;
|
||||
$newestId = (int)$itemPagesRow->newest_rev_id;
|
||||
$currentId = $rev->getId();
|
||||
|
||||
if ( [ $oldestTime, $oldestId ] > [ $currentTime, $currentId ] ) {
|
||||
$dbw->update(
|
||||
'discussiontools_item_pages',
|
||||
[ 'itp_oldest_revision_id' => $rev->getId() ],
|
||||
[ 'itp_id' => $itemPagesRow->itp_id ],
|
||||
$method
|
||||
);
|
||||
}
|
||||
$existingTime = ( new MWTimestamp( $itemPagesRow->newest_rev_timestamp ) )->getTimestamp( TS_MW );
|
||||
if ( $existingTime <= $rev->getTimestamp() ) {
|
||||
} elseif ( [ $newestTime, $newestId ] < [ $currentTime, $currentId ] ) {
|
||||
$dbw->update(
|
||||
'discussiontools_item_pages',
|
||||
[ 'itp_newest_revision_id' => $rev->getId() ],
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
"itp_id": "5",
|
||||
"itp_items_id": "5",
|
||||
"itp_page_id": "2",
|
||||
"itp_oldest_revision_id": "4",
|
||||
"itp_oldest_revision_id": "3",
|
||||
"itp_newest_revision_id": "4"
|
||||
},
|
||||
{
|
||||
|
|
|
@ -39,6 +39,16 @@
|
|||
"itr_level": "1",
|
||||
"itr_headinglevel": null
|
||||
},
|
||||
{
|
||||
"itr_id": "7",
|
||||
"itr_itemid_id": "5",
|
||||
"itr_revision_id": "3",
|
||||
"itr_items_id": "5",
|
||||
"itr_parent_id": "6",
|
||||
"itr_transcludedfrom": null,
|
||||
"itr_level": "2",
|
||||
"itr_headinglevel": null
|
||||
},
|
||||
{
|
||||
"itr_id": "10",
|
||||
"itr_itemid_id": "1",
|
||||
|
|
Loading…
Reference in a new issue