class GroongaQueryLog::IncompatibilityDetector::Version2
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/groonga-query-log/incompatibility-detector.rb, line 50 def initialize super(2) end
Public Instance Methods
detect(statistic)
click to toggle source
# File lib/groonga-query-log/incompatibility-detector.rb, line 54 def detect(statistic) case statistic.command.name when "select" detect_select(statistic) else [] end end
Private Instance Methods
detect_select(statistic)
click to toggle source
# File lib/groonga-query-log/incompatibility-detector.rb, line 64 def detect_select(statistic) command = statistic.command incompatibles = [] space_delimiter_unacceptable_parameters = ["output_columns"] space_delimiter_unacceptable_parameters.each do |parameter| value = command[parameter] if space_delimiter?(value) description = "space is used as delimiter" message = build_message("select", parameter, description, value) incompatibles << message end end incompatibles end
have_comma?(string)
click to toggle source
# File lib/groonga-query-log/incompatibility-detector.rb, line 91 def have_comma?(string) string.include?(",") end
have_function_call?(string)
click to toggle source
# File lib/groonga-query-log/incompatibility-detector.rb, line 87 def have_function_call?(string) string.include?("(") end
space_delimiter?(string)
click to toggle source
# File lib/groonga-query-log/incompatibility-detector.rb, line 79 def space_delimiter?(string) return false if string.nil? return false if have_function_call?(string) return false if have_comma?(string) string.strip.split(/\s+/).size > 1 end