diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-09-14 09:19:39 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-09-14 09:34:05 +0900 |
commit | eacc97ce3ca4108acc5f1bf6bf5e479a52a5b012 (patch) | |
tree | 4516402e17e9a2d30c665a751608399bb5af18f6 /activerecord/lib/active_record/relation/finder_methods.rb | |
parent | 5a4cd4fc6fbf1d3036172be5809d467a0395c567 (diff) | |
download | rails-eacc97ce3ca4108acc5f1bf6bf5e479a52a5b012.tar.gz rails-eacc97ce3ca4108acc5f1bf6bf5e479a52a5b012.tar.bz2 rails-eacc97ce3ca4108acc5f1bf6bf5e479a52a5b012.zip |
Don't use `quoted_table_name` in `limited_ids_for`
Because `quoted_table_name` doesn't respect table alias. We should use
`arel_attribute` for that, so I added `column_name_from_arel_node` to
generate column name from an arel node.
Diffstat (limited to 'activerecord/lib/active_record/relation/finder_methods.rb')
-rw-r--r-- | activerecord/lib/active_record/relation/finder_methods.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/finder_methods.rb b/activerecord/lib/active_record/relation/finder_methods.rb index 2aed941916..c92d5a52f4 100644 --- a/activerecord/lib/active_record/relation/finder_methods.rb +++ b/activerecord/lib/active_record/relation/finder_methods.rb @@ -413,7 +413,9 @@ module ActiveRecord def limited_ids_for(relation) values = @klass.connection.columns_for_distinct( - "#{quoted_table_name}.#{quoted_primary_key}", relation.order_values) + connection.column_name_from_arel_node(arel_attribute(primary_key)), + relation.order_values + ) relation = relation.except(:select).select(values).distinct! |