aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2013-11-26 04:59:18 +0900
committerRyuta Kamizono <kamipo@gmail.com>2013-11-26 04:59:18 +0900
commit501ae92a32285528c8bbdcf2af422eadb6a63c0e (patch)
tree982ad6636414d3ecb51cd98a37dcb40669c0decc /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parenta6900a20739cf372e47a8f19954b11005a24de3d (diff)
downloadrails-501ae92a32285528c8bbdcf2af422eadb6a63c0e.tar.gz
rails-501ae92a32285528c8bbdcf2af422eadb6a63c0e.tar.bz2
rails-501ae92a32285528c8bbdcf2af422eadb6a63c0e.zip
Only use BINARY for mysql case sensitive uniqueness check when column has a case insensitive collation.
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.rb8
1 files changed, 8 insertions, 0 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 dcbc3466b2..b17ac5ebf6 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -585,6 +585,14 @@ module ActiveRecord
Arel::Nodes::Bin.new(node)
end
+ def case_sensitive_comparison(table, attribute, column, value)
+ if column.case_sensitive?
+ table[attribute].eq(value)
+ else
+ super
+ end
+ end
+
def case_insensitive_comparison(table, attribute, column, value)
if column.case_sensitive?
super