##// END OF EJS Templates
Sort messages by ids to avoid the left join....
Jean-Philippe Lang -
r15200:1b10649783e2
parent child
Show More
@@ -37,15 +37,14 class BoardsController < ApplicationController
37 respond_to do |format|
37 respond_to do |format|
38 format.html {
38 format.html {
39 sort_init 'updated_on', 'desc'
39 sort_init 'updated_on', 'desc'
40 sort_update 'created_on' => "#{Message.table_name}.created_on",
40 sort_update 'created_on' => "#{Message.table_name}.id",
41 'replies' => "#{Message.table_name}.replies_count",
41 'replies' => "#{Message.table_name}.replies_count",
42 'updated_on' => "COALESCE(last_replies_messages.created_on, #{Message.table_name}.created_on)"
42 'updated_on' => "COALESCE(#{Message.table_name}.last_reply_id, #{Message.table_name}.id)"
43
43
44 @topic_count = @board.topics.count
44 @topic_count = @board.topics.count
45 @topic_pages = Paginator.new @topic_count, per_page_option, params['page']
45 @topic_pages = Paginator.new @topic_count, per_page_option, params['page']
46 @topics = @board.topics.
46 @topics = @board.topics.
47 reorder("#{Message.table_name}.sticky DESC").
47 reorder(:sticky => :desc).
48 joins("LEFT OUTER JOIN #{Message.table_name} last_replies_messages ON last_replies_messages.id = #{Message.table_name}.last_reply_id").
49 limit(@topic_pages.per_page).
48 limit(@topic_pages.per_page).
50 offset(@topic_pages.offset).
49 offset(@topic_pages.offset).
51 order(sort_clause).
50 order(sort_clause).
@@ -56,7 +55,7 class BoardsController < ApplicationController
56 }
55 }
57 format.atom {
56 format.atom {
58 @messages = @board.messages.
57 @messages = @board.messages.
59 reorder('created_on DESC').
58 reorder(:id => :desc).
60 includes(:author, :board).
59 includes(:author, :board).
61 limit(Setting.feeds_limit.to_i).
60 limit(Setting.feeds_limit.to_i).
62 to_a
61 to_a
General Comments 0
You need to be logged in to leave comments. Login now