aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/query_methods.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-11-10 22:22:55 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-11-10 22:22:55 +0900
commitdf49896a1e67feea56062639c3cf51e8e0b12a51 (patch)
tree719511d0ac433a8a4c2cc1dc9a50eab7dfac9a3e /activerecord/lib/active_record/relation/query_methods.rb
parenta7ef60d5207d3b227d6b7dfe21e453d3548cdefa (diff)
downloadrails-df49896a1e67feea56062639c3cf51e8e0b12a51.tar.gz
rails-df49896a1e67feea56062639c3cf51e8e0b12a51.tar.bz2
rails-df49896a1e67feea56062639c3cf51e8e0b12a51.zip
Ensure `apply_join_dependency` for subqueries in `from` and `where`
Fixes #21577.
Diffstat (limited to 'activerecord/lib/active_record/relation/query_methods.rb')
-rw-r--r--activerecord/lib/active_record/relation/query_methods.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb
index 9c5be4ad9b..34554450dd 100644
--- a/activerecord/lib/active_record/relation/query_methods.rb
+++ b/activerecord/lib/active_record/relation/query_methods.rb
@@ -963,6 +963,9 @@ module ActiveRecord
name = from_clause.name
case opts
when Relation
+ if opts.eager_loading?
+ opts = opts.send(:apply_join_dependency)
+ end
name ||= "subquery"
opts.arel.as(name.to_s)
else