| 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 436
436: def sql_operator(operator, field)
437: if [:ne, :eq].include?(operator) && field.textual?
438: "#{SQL_OPERATORS[operator]} BINARY"
439: else
440: super(operator, field)
441: end
442: end