add CAST AS TEXT; change how default_field is assigned
This commit is contained in:
@@ -36,7 +36,7 @@ module PgSearchable
|
|||||||
@ts_skip_cache_update = skip_callback
|
@ts_skip_cache_update = skip_callback
|
||||||
@ts_wildcard = wildcard
|
@ts_wildcard = wildcard
|
||||||
@ts_joins = joins
|
@ts_joins = joins
|
||||||
@default_field = (default_field.to_sym || fields.first)
|
@default_field = default_field.to_s.empty? ? fields.first : default_field.to_sym
|
||||||
ts_add_scope
|
ts_add_scope
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class TextToSqlQuery
|
|||||||
case first_key
|
case first_key
|
||||||
when :DEFAULT_COLUMN
|
when :DEFAULT_COLUMN
|
||||||
escaped_node_value = handle_special_chars node_value
|
escaped_node_value = handle_special_chars node_value
|
||||||
["#{@default_field.to_s} ILIKE ?", "%#{escaped_node_value}%"]
|
["CAST(#{@default_field.to_s} AS TEXT) ILIKE ?", "%#{escaped_node_value}%"]
|
||||||
when :OPERATOR_OR
|
when :OPERATOR_OR
|
||||||
generate_expression_for_logical_operator(:OR, node_value)
|
generate_expression_for_logical_operator(:OR, node_value)
|
||||||
when :OPERATOR_AND
|
when :OPERATOR_AND
|
||||||
@@ -53,7 +53,7 @@ class TextToSqlQuery
|
|||||||
if mapping.nil?
|
if mapping.nil?
|
||||||
raise "Unknown field '#{first_key.to_s}'"
|
raise "Unknown field '#{first_key.to_s}'"
|
||||||
else
|
else
|
||||||
["#{mapping.to_s} ILIKE ?", "%#{escaped_node_value}%"]
|
["CAST(#{mapping.to_s} AS TEXT) ILIKE ?", "%#{escaped_node_value}%"]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user