aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-04-07 17:16:40 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2014-04-07 17:16:40 -0700
commita38e957f8021bbd9a2fa2fc9f5bcea9d9ba6e7ef (patch)
treec49ce18ad8791520fd81d1133ed81b0cc51dbb2c
parent426ae869fe85462f5592fb225b431144804e25af (diff)
downloadrails-a38e957f8021bbd9a2fa2fc9f5bcea9d9ba6e7ef.tar.gz
rails-a38e957f8021bbd9a2fa2fc9f5bcea9d9ba6e7ef.tar.bz2
rails-a38e957f8021bbd9a2fa2fc9f5bcea9d9ba6e7ef.zip
wrap the literal value before handing it to arel
this lets arel know how to correctly quote the value
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_adapter.rb7
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb3
2 files changed, 6 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index 78e0cc3d1b..ebf77b9bfb 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -324,13 +324,14 @@ module ActiveRecord
def release_savepoint(name = nil)
end
- def case_sensitive_modifier(node)
+ def case_sensitive_modifier(node, table_attribute)
node
end
def case_sensitive_comparison(table, attribute, column, value)
- value = case_sensitive_modifier(value) unless value.nil?
- table[attribute].eq(value)
+ table_attr = table[attribute]
+ value = case_sensitive_modifier(value, table_attr) unless value.nil?
+ table_attr.eq(value)
end
def case_insensitive_comparison(table, attribute, column, value)
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 20eea208ec..7c8f020065 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -610,7 +610,8 @@ module ActiveRecord
pk_and_sequence && pk_and_sequence.first
end
- def case_sensitive_modifier(node)
+ def case_sensitive_modifier(node, table_attribute)
+ node = Arel::Nodes.build_quoted node, table_attribute
Arel::Nodes::Bin.new(node)
end