diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-01-07 18:45:17 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-01-07 18:45:17 -0800 |
commit | 36d7bd189818eb1bb0df4f9472113cf70cd652de (patch) | |
tree | ae757ea7820b5e527af4e35b768a4f1e600b1ee0 /activerecord/lib/active_record | |
parent | 84f81f57793689a1c5b5ef1fec800a29c96c30c5 (diff) | |
download | rails-36d7bd189818eb1bb0df4f9472113cf70cd652de.tar.gz rails-36d7bd189818eb1bb0df4f9472113cf70cd652de.tar.bz2 rails-36d7bd189818eb1bb0df4f9472113cf70cd652de.zip |
stop creating intermediate AR objects, just construct AR objects from a list of hashes
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 8bbc47ab75..aa9d468bba 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -188,7 +188,8 @@ module ActiveRecord def find_with_associations including = (@eager_load_values + @includes_values).uniq join_dependency = ActiveRecord::Associations::ClassMethods::JoinDependency.new(@klass, including, []) - rows = construct_relation_for_association_find(join_dependency).to_a + relation = construct_relation_for_association_find(join_dependency) + rows = connection.exec_query(relation.to_sql, 'SQL', relation.bind_values) join_dependency.instantiate(rows) rescue ThrowResult [] |