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.

Methods

sql_test  

Public Instance methods

[Source]

     # File lib/scoped_search/query_builder.rb, line 472
472:       def sql_test(field, operator, value, lhs, &block) # :yields: finder_option_type, value
473:         if field.key_field
474:           yield(:parameter, lhs.sub(/^.*\./,''))
475:         end
476:         if field.textual? && [:like, :unlike].include?(operator)
477:           yield(:parameter, (value !~ /^\%|\*/ && value !~ /\%|\*$/) ? "%#{value}%" : value.to_s.tr_s('%*', '%'))
478:           return "LOWER(#{field.to_sql(operator, &block)}) #{self.sql_operator(operator, field)} LOWER(?)"
479:         elsif field.temporal?
480:           return datetime_test(field, operator, value, &block)
481:         else
482:           yield(:parameter, value)
483:           return "#{field.to_sql(operator, &block)} #{self.sql_operator(operator, field)} ?"
484:         end
485:       end

[Validate]