[FIX] link_tracker: prevent undeterministic order on new/recent filter
Before this commit, ordering by `create_date DESC` and `write_date DESC` could lead to undeterministic order if multiple records had the exact same date. This is the case during tests as `crate_date` is set to transaction start time. (That's what NOW() in PSQL does) Now, we enforce that order to avoid randomness. Related to #31829 Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
@@ -185,11 +185,11 @@ class LinkTracker(models.Model):
|
||||
@api.model
|
||||
def recent_links(self, filter, limit):
|
||||
if filter == 'newest':
|
||||
return self.search_read([], order='create_date DESC', limit=limit)
|
||||
return self.search_read([], order='create_date DESC, id DESC', limit=limit)
|
||||
elif filter == 'most-clicked':
|
||||
return self.search_read([('count', '!=', 0)], order='count DESC', limit=limit)
|
||||
elif filter == 'recently-used':
|
||||
return self.search_read([('count', '!=', 0)], order='write_date DESC', limit=limit)
|
||||
return self.search_read([('count', '!=', 0)], order='write_date DESC, id DESC', limit=limit)
|
||||
else:
|
||||
return {'Error': "This filter doesn't exist."}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user