提交 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
def release_savepoint
end
def case_sensitive_modifier(node)
node
end
def current_savepoint_name
"active_record_#{open_transactions}"
end
......
......@@ -528,6 +528,11 @@ def primary_key(table)
def case_sensitive_equality_operator
"= BINARY"
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)
where_sql
......
......@@ -655,6 +655,11 @@ def primary_key(table)
def case_sensitive_equality_operator
"= BINARY"
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)
where_sql
......
......@@ -59,6 +59,7 @@ def build_relation(klass, table, attribute, value) #:nodoc:
if !options[:case_sensitive] && column.text?
relation = table[attribute].matches(value)
else
value = klass.connection.case_sensitive_modifier(value)
relation = table[attribute].eq(value)
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册