From 459e9b29d4b9922d5ce3f87dd62fd43e752ac3da Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Wed, 20 Jan 2010 22:20:33 +0530 Subject: [PATCH] Use @limit_value and @offset_value instead of calling arel --- activerecord/lib/active_record/relation.rb | 2 +- activerecord/lib/active_record/relation/finder_methods.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb index 0e91959db5..c9fff15199 100644 --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -80,7 +80,7 @@ def many? if block_given? to_a.many? { |*block_args| yield(*block_args) } else - arel.send(:taken).present? ? to_a.many? : size > 1 + @limit_value.present? ? to_a.many? : size > 1 end end diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 2e451e380b..d6d3d66642 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -272,15 +272,15 @@ def find_some(ids) result = where(primary_key.in(ids)).all expected_size = - if arel.taken && ids.size > arel.taken - arel.taken + if @limit_value && ids.size > @limit_value + @limit_value else ids.size end # 11 ids with limit 3, offset 9 should give 2 results. - if arel.skipped && (ids.size - arel.skipped < expected_size) - expected_size = ids.size - arel.skipped + if @offset_value && (ids.size - @offset_value < expected_size) + expected_size = ids.size - @offset_value end if result.size == expected_size -- GitLab