From b5064d197cff5826cfef5a66867fc89e8390bc11 Mon Sep 17 00:00:00 2001 From: albert Date: Wed, 20 Feb 2013 16:05:03 -0500 Subject: [PATCH] fix for blank tag counts --- app/models/post.rb | 19 ++++++++++--------- .../paginator/active_record_extension.rb | 1 + 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/models/post.rb b/app/models/post.rb index f55398a5b..f321db811 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -595,10 +595,15 @@ class Post < ActiveRecord::Base def fast_count(tags = "") tags = tags.to_s.strip - count = get_count_from_cache(tags) + + if tags.blank? && Danbooru.config.blank_tag_search_fast_count + count = Danbooru.config.blank_tag_search_fast_count + else + count = get_count_from_cache(tags) - if count.nil? - fast_count_search(tags) + if count.nil? + fast_count_search(tags) + end end count.to_i @@ -607,12 +612,8 @@ class Post < ActiveRecord::Base end def fast_count_search(tags) - if tags.blank? && Danbooru.config.blank_tag_search_fast_count - count = Danbooru.config.blank_tag_search_fast_count - else - count = Post.with_timeout(500, Danbooru.config.blank_tag_search_fast_count || 1_000_000) do - Post.tag_match(tags).undeleted.count - end + count = Post.with_timeout(500, Danbooru.config.blank_tag_search_fast_count || 1_000_000) do + Post.tag_match(tags).undeleted.count end if count == 0 diff --git a/lib/danbooru/paginator/active_record_extension.rb b/lib/danbooru/paginator/active_record_extension.rb index c00f59f5e..07cba7869 100644 --- a/lib/danbooru/paginator/active_record_extension.rb +++ b/lib/danbooru/paginator/active_record_extension.rb @@ -70,6 +70,7 @@ module Danbooru # taken from kaminari (https://github.com/amatsuda/kaminari) def total_count + raise if @paginator_options[:count] == 0 return @paginator_options[:count] if @paginator_options[:count] c = except(:offset, :limit, :order)