From 0863335453bcf3b27c95cb8291cb6411b3e6f4ab Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Tue, 19 Dec 2017 20:59:09 +0900 Subject: Quote primary key in the subselect generated by mysql2 adapter Otherwise it will occur syntax error if primary key is a reserved word. --- .../lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/connection_adapters') 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? -- cgit v1.2.3