From f696a7cd20e4f14b75fc2952f169c297df8e7468 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Mon, 10 Feb 2020 16:42:59 +0100 Subject: [PATCH] add CAST AS TEXT; change how default_field is assigned --- lib/pg_searchable_regex.rb | 2 +- lib/text_to_sql_query.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pg_searchable_regex.rb b/lib/pg_searchable_regex.rb index 4387373..dc1b18d 100644 --- a/lib/pg_searchable_regex.rb +++ b/lib/pg_searchable_regex.rb @@ -36,7 +36,7 @@ module PgSearchable @ts_skip_cache_update = skip_callback @ts_wildcard = wildcard @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 end diff --git a/lib/text_to_sql_query.rb b/lib/text_to_sql_query.rb index d473f48..c464349 100644 --- a/lib/text_to_sql_query.rb +++ b/lib/text_to_sql_query.rb @@ -29,7 +29,7 @@ class TextToSqlQuery case first_key when :DEFAULT_COLUMN 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 generate_expression_for_logical_operator(:OR, node_value) when :OPERATOR_AND @@ -53,7 +53,7 @@ class TextToSqlQuery if mapping.nil? raise "Unknown field '#{first_key.to_s}'" else - ["#{mapping.to_s} ILIKE ?", "%#{escaped_node_value}%"] + ["CAST(#{mapping.to_s} AS TEXT) ILIKE ?", "%#{escaped_node_value}%"] end end end