aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_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_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_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_adapter.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index 8aa1ce5c04..21829b4932 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -334,6 +334,11 @@ module ActiveRecord
node
end
+ def case_sensitive_comparison(table, attribute, column, value)
+ value = case_sensitive_modifier(value) unless value.nil?
+ table[attribute].eq(value)
+ end
+
def case_insensitive_comparison(table, attribute, column, value)
table[attribute].lower.eq(table.lower(value))
end