提交 c4fc3963 编写于 作者: A Aaron Patterson

adding a case_sensitive_modifier for forcing comparisons to be case sensitive

上级 35b27154
...@@ -203,6 +203,10 @@ def rollback_to_savepoint ...@@ -203,6 +203,10 @@ def rollback_to_savepoint
def release_savepoint def release_savepoint
end end
def case_sensitive_modifier(node)
node
end
def current_savepoint_name def current_savepoint_name
"active_record_#{open_transactions}" "active_record_#{open_transactions}"
end end
......
...@@ -528,6 +528,11 @@ def primary_key(table) ...@@ -528,6 +528,11 @@ def primary_key(table)
def case_sensitive_equality_operator def case_sensitive_equality_operator
"= BINARY" "= BINARY"
end end
deprecate :case_sensitive_equality_operator
def case_sensitive_modifier(node)
Arel::Nodes::Bin.new(node)
end
def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key) def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key)
where_sql where_sql
......
...@@ -655,6 +655,11 @@ def primary_key(table) ...@@ -655,6 +655,11 @@ def primary_key(table)
def case_sensitive_equality_operator def case_sensitive_equality_operator
"= BINARY" "= BINARY"
end end
deprecate :case_sensitive_equality_operator
def case_sensitive_modifier(node)
Arel::Nodes::Bin.new(node)
end
def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key) def limited_update_conditions(where_sql, quoted_table_name, quoted_primary_key)
where_sql where_sql
......
...@@ -59,6 +59,7 @@ def build_relation(klass, table, attribute, value) #:nodoc: ...@@ -59,6 +59,7 @@ def build_relation(klass, table, attribute, value) #:nodoc:
if !options[:case_sensitive] && column.text? if !options[:case_sensitive] && column.text?
relation = table[attribute].matches(value) relation = table[attribute].matches(value)
else else
value = klass.connection.case_sensitive_modifier(value)
relation = table[attribute].eq(value) relation = table[attribute].eq(value)
end end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册