diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2010-01-12 22:20:53 +0530 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2010-01-12 22:25:55 +0530 |
commit | a04486dc997979a2d87fc013d30b6e71a3df4a64 (patch) | |
tree | fe3df7946d7fac940124f017fa0de7af335dba75 /activerecord/lib/active_record/relation/finder_methods.rb | |
parent | b078f7fd3910b0b174bc951cc8c0d27536b09c16 (diff) | |
download | rails-a04486dc997979a2d87fc013d30b6e71a3df4a64.tar.gz rails-a04486dc997979a2d87fc013d30b6e71a3df4a64.tar.bz2 rails-a04486dc997979a2d87fc013d30b6e71a3df4a64.zip |
Delay building arel relation as long as possible for improved introspection
Diffstat (limited to 'activerecord/lib/active_record/relation/finder_methods.rb')
-rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index c3e5f27838..3668b0997f 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -93,15 +93,15 @@ module ActiveRecord result = where(primary_key.in(ids)).all expected_size = - if @relation.taken && ids.size > @relation.taken - @relation.taken + if arel.taken && ids.size > arel.taken + arel.taken else ids.size end # 11 ids with limit 3, offset 9 should give 2 results. - if @relation.skipped && (ids.size - @relation.skipped < expected_size) - expected_size = ids.size - @relation.skipped + if arel.skipped && (ids.size - arel.skipped < expected_size) + expected_size = ids.size - arel.skipped end if result.size == expected_size |