aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-12-19 20:59:09 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-12-19 20:59:09 +0900
commit0863335453bcf3b27c95cb8291cb6411b3e6f4ab (patch)
tree63f7d4f1e384aab08995e82b34759338c7322f7f /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent9e7260da1bdc0770cf4ac547120c85ab93ff3d48 (diff)
downloadrails-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/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb3
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?