MDL-79247 forum: Make discussion list ordering deterministic

Note that normally this doesn't matter much, but there are situations
when we want the discussion list ordering fully consistent /
deterministic.

Specifically, when discussions (or forum posts )are created in the
same second, or when the discussion titles are repeated, or 2
discussions have the same number of votes... (any criteria in general),
in the context of testing, we don't want the order
to be non-consistent, so we need to provide an extra sorting
criterion to make it fully deterministic.

So, in this case, we are adding a sort by discussion.id <<DIRECTION>>
that is an unique value, primary key... so cheap to calculate and,
that way, when the 1st sorting column has repeated values, the id
will decide.
This commit is contained in:
Eloy Lafuente (stronk7) 2023-10-01 18:29:20 +02:00
parent 43d5aec47e
commit 4fcb52cd45
No known key found for this signature in database
GPG Key ID: 53487A05E6228820

View File

@ -350,7 +350,7 @@ class discussion_list extends db_table_vault {
$favouritesort .= ", {$favalias}.itemtype DESC";
}
return "{$alias}.pinned DESC $favouritesort , {$keyfield} {$direction}";
return "{$alias}.pinned DESC $favouritesort , {$keyfield} {$direction}, {$alias}.id {$direction}";
}
/**