diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-04-07 17:16:40 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-04-07 17:16:40 -0700 |
commit | a38e957f8021bbd9a2fa2fc9f5bcea9d9ba6e7ef (patch) | |
tree | c49ce18ad8791520fd81d1133ed81b0cc51dbb2c | |
parent | 426ae869fe85462f5592fb225b431144804e25af (diff) | |
download | rails-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.rb | 7 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 3 |
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 |