diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2017-12-19 20:59:09 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2017-12-19 20:59:09 +0900 |
commit | 0863335453bcf3b27c95cb8291cb6411b3e6f4ab (patch) | |
tree | 63f7d4f1e384aab08995e82b34759338c7322f7f /activerecord/lib | |
parent | 9e7260da1bdc0770cf4ac547120c85ab93ff3d48 (diff) | |
download | rails-0863335453bcf3b27c95cb8291cb6411b3e6f4ab.tar.gz rails-0863335453bcf3b27c95cb8291cb6411b3e6f4ab.tar.bz2 rails-0863335453bcf3b27c95cb8291cb6411b3e6f4ab.zip |
Quote primary key in the subselect generated by mysql2 adapter
Otherwise it will occur syntax error if primary key is a reserved word.
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 3 |
1 files changed, 2 insertions, 1 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 8569c76317..bff2f51efd 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -717,7 +717,8 @@ module ActiveRecord # to work with MySQL 5.7.6 which sets optimizer_switch='derived_merge=on' subselect.distinct unless select.limit || select.offset || select.orders.any? - Arel::SelectManager.new(subselect.as("__active_record_temp")).project(Arel.sql(key.name)) + key_name = quote_column_name(key.name) + Arel::SelectManager.new(subselect.as("__active_record_temp")).project(Arel.sql(key_name)) end def supports_rename_index? |