aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-09-18 07:23:38 +0900
committerRyuta Kamizono <kamipo@gmail.com>2019-01-11 17:32:48 +0900
commiteb5fef554fde84d36b45191182ed98bd344dc967 (patch)
tree9f8b83bee569bcd8a75c093748d73e46cf488417 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent235eb91bad58ab18b45aa36fa3a1ebedfe1c4879 (diff)
downloadrails-eb5fef554fde84d36b45191182ed98bd344dc967.tar.gz
rails-eb5fef554fde84d36b45191182ed98bd344dc967.tar.bz2
rails-eb5fef554fde84d36b45191182ed98bd344dc967.zip
Refactor `build_relation` in the uniqueness validator to avoid low level predicate construction
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.rb6
1 files changed, 4 insertions, 2 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 cccd6e2210..70d281b62b 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -476,9 +476,11 @@ module ActiveRecord
SQL
end
- def case_sensitive_comparison(table, attribute, column, value) # :nodoc:
+ def case_sensitive_comparison(attribute, value) # :nodoc:
+ column = column_for_attribute(attribute)
+
if column.collation && !column.case_sensitive?
- table[attribute].eq(Arel::Nodes::Bin.new(value))
+ attribute.eq(Arel::Nodes::Bin.new(value))
else
super
end