From 664e2209e53c920d6cc688af1144ed1ca90301d0 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 18 Sep 2015 17:16:37 +1000 Subject: [PATCH] FIX: order latest was broken --- lib/search.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/search.rb b/lib/search.rb index cc9267dd1cf..354755a02c2 100644 --- a/lib/search.rb +++ b/lib/search.rb @@ -522,11 +522,13 @@ class Search def aggregate_search(opts = {}) + min_or_max = @order == :latest ? "max" : "min" + post_sql = posts_query(@limit, aggregate_search: true, private_messages: opts[:private_messages]) - .select('topics.id', 'min(post_number) post_number') - .group('topics.id') - .to_sql + .select('topics.id', "#{min_or_max}(post_number) post_number") + .group('topics.id') + .to_sql # double wrapping so we get correct row numbers post_sql = "SELECT *, row_number() over() row_number FROM (#{post_sql}) xxx"