Class | ScopedSearch::QueryBuilder::MysqlAdapter |
In: |
lib/scoped_search/query_builder.rb
|
Parent: | ScopedSearch::QueryBuilder |
The MysqlAdapter makes sure that case sensitive comparisons are used when using the (not) equals operator, regardless of the field‘s collation setting.
Patches the default sql_operator method to add BINARY after the equals and not equals operator to force case-sensitive comparisons.
# File lib/scoped_search/query_builder.rb, line 437 437: def sql_operator(operator, field) 438: if [:ne, :eq].include?(operator) && field.textual? 439: "#{SQL_OPERATORS[operator]} BINARY" 440: else 441: super(operator, field) 442: end 443: end