Class | ScopedSearch::QueryBuilder::OracleEnhancedAdapter |
In: |
lib/scoped_search/query_builder.rb
|
Parent: | ScopedSearch::QueryBuilder |
The Oracle adapter also requires some tweaks to make the case insensitive LIKE work.
# File lib/scoped_search/query_builder.rb, line 484 484: def sql_test(field, operator, value, lhs, &block) # :yields: finder_option_type, value 485: if field.key_field 486: yield(:parameter, lhs.sub(/^.*\./,'')) 487: end 488: if field.textual? && [:like, :unlike].include?(operator) 489: yield(:parameter, (value !~ /^\%|\*/ && value !~ /\%|\*$/) ? "%#{value}%" : value.to_s.tr_s('%*', '%')) 490: return "LOWER(#{field.to_sql(operator, &block)}) #{self.sql_operator(operator, field)} LOWER(?)" 491: elsif field.temporal? 492: return datetime_test(field, operator, value, &block) 493: else 494: yield(:parameter, value) 495: return "#{field.to_sql(operator, &block)} #{self.sql_operator(operator, field)} ?" 496: end 497: end