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