transform INNER JOIN to LEFT OUTER
This commit is contained in:
@@ -47,7 +47,7 @@ module PgSearchable
|
||||
def ts_add_scope
|
||||
class_eval do
|
||||
scope ts_scope_method, ->(value) do
|
||||
resulting_ids = ts_search(value).map(&:id)
|
||||
resulting_ids = ts_search(value).rows.map { |row| row[0] }
|
||||
where(id: resulting_ids)
|
||||
end
|
||||
end
|
||||
@@ -62,7 +62,9 @@ module PgSearchable
|
||||
@ts_search_fields_mappings,
|
||||
@ts_joins
|
||||
)
|
||||
distinct.joins(sql_query_object.join_clause).group(:id).having(sql_query_object.where_clause)
|
||||
sql_query = select(:id).distinct.joins(sql_query_object.join_clause).group(:id).having(sql_query_object.where_clause)
|
||||
modified_sql_query = sql_query.to_sql.gsub('INNER', 'LEFT OUTER') # TODO: Search terms should not be replaced!
|
||||
ActiveRecord::Base.connection.exec_query(modified_sql_query)
|
||||
end
|
||||
|
||||
def should_update_cache_field?
|
||||
|
||||
Reference in New Issue
Block a user