diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-05-04 17:14:22 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-05-05 15:39:42 +0900 |
commit | 626f3d608868afed3aa725e3b6e0a5ce82b5e968 (patch) | |
tree | 21360824769f3900939840cb24dc6a48420b9226 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | |
parent | 7986555bf9cea7b4d8c55eeda22361495567486d (diff) | |
download | rails-626f3d608868afed3aa725e3b6e0a5ce82b5e968.tar.gz rails-626f3d608868afed3aa725e3b6e0a5ce82b5e968.tar.bz2 rails-626f3d608868afed3aa725e3b6e0a5ce82b5e968.zip |
Don't pass `arel.engine` to `Arel::SelectManager.new`
The argument of `Arel::SelectManager.new` is `table`, not `engine`.
https://github.com/rails/arel/blob/v8.0.0/lib/arel/select_manager.rb#L10
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index 31cf2b4dbf..abc15f595f 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -714,16 +714,14 @@ module ActiveRecord # MySQL is too stupid to create a temporary table for use subquery, so we have # to give it some prompting in the form of a subsubquery. Ugh! def subquery_for(key, select) - subsubselect = select.clone - subsubselect.projections = [key] + subselect = select.clone + subselect.projections = [key] # Materialize subquery by adding distinct # to work with MySQL 5.7.6 which sets optimizer_switch='derived_merge=on' - subsubselect.distinct unless select.limit || select.offset || select.orders.any? + subselect.distinct unless select.limit || select.offset || select.orders.any? - subselect = Arel::SelectManager.new(select.engine) - subselect.project Arel.sql(key.name) - subselect.from subsubselect.as("__active_record_temp") + Arel::SelectManager.new(subselect.as("__active_record_temp")).project(Arel.sql(key.name)) end def supports_rename_index? |