aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2016-08-31 12:38:37 -0400
committerSean Griffin <sean@seantheprogrammer.com>2016-08-31 12:38:37 -0400
commit84efde740dc357de3ace08b2f2fd7a4a67dbd9bd (patch)
treec858f06849f59885cb736027d49f954de2ca59b4 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent7ba3a48df5bfdc5e98506bb829f937e03b55a5b3 (diff)
downloadrails-84efde740dc357de3ace08b2f2fd7a4a67dbd9bd.tar.gz
rails-84efde740dc357de3ace08b2f2fd7a4a67dbd9bd.tar.bz2
rails-84efde740dc357de3ace08b2f2fd7a4a67dbd9bd.zip
Revert "Extract `PredicateBuilder::CaseSensitiveHandler`"
This reverts commit 3a1f6fe7b4a70bf0698b0684dd48ac712c6883b6. This commit takes the code in a direction that I am looking to avoid. The predicate builder should be purely concerned with AST construction as it matters to methods like `where`. Things like case sensitivity should continue to be handled elsewhere.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb7
1 files changed, 4 insertions, 3 deletions
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 3a28879c15..4333cd1f57 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -613,11 +613,12 @@ module ActiveRecord
SQL
end
- def case_sensitive_comparison(attribute, column, value) # :nodoc:
+ def case_sensitive_comparison(table, attribute, column, value)
if column.collation && !column.case_sensitive?
- value = Arel::Nodes::Bin.new(value)
+ table[attribute].eq(Arel::Nodes::Bin.new(Arel::Nodes::BindParam.new))
+ else
+ super
end
- attribute.eq(value)
end
def can_perform_case_insensitive_comparison_for?(column)