From e655f15af7ada4265951d845376cd3c08ae01e44 Mon Sep 17 00:00:00 2001 From: suifri Date: Mon, 27 Jul 2026 13:04:06 +0300 Subject: [PATCH] [WTEL-10028]fix(call_store): FTS query build - change `to_tsquery` to `plainto_tsquery` cause when user pass into incoming parameter full sentence `to_tsquery` expect text with parsed `&` otherwise we`ll get an error (cherry picked from commit 901cab394b913df4190efc1fd2db77c0df1afff1) --- store/sqlstore/call_store.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/store/sqlstore/call_store.go b/store/sqlstore/call_store.go index ea35e3fb..323ebcb0 100644 --- a/store/sqlstore/call_store.go +++ b/store/sqlstore/call_store.go @@ -417,7 +417,7 @@ func (s SqlCallStore) GetHistory(ctx context.Context, domainId int64, search *mo and ((:HasTranscript::bool isnull and :Fts::varchar isnull) or ( case :HasTranscript::bool when false then not exists(select 1 from storage.file_transcript ft where ft.uuid = t.id::text ) - else exists(select 1 from storage.file_transcript ft where ft.uuid = t.id::text and (:Fts::varchar isnull or to_tsvector(ft.transcript) @@ to_tsquery(:Fts::varchar))) + else exists(select 1 from storage.file_transcript ft where ft.uuid = t.id::text and (:Fts::varchar isnull or to_tsvector(ft.transcript) @@ plainto_tsquery(:Fts::varchar))) end )) @@ -639,7 +639,7 @@ func (s SqlCallStore) GetHistoryByGroups(ctx context.Context, domainId, userSupe and ((:HasTranscript::bool isnull and :Fts::varchar isnull) or ( case :HasTranscript::bool when false then not exists(select 1 from storage.file_transcript ft where ft.uuid = t.id::text ) - else exists(select 1 from storage.file_transcript ft where ft.uuid = t.id::text and (:Fts::varchar isnull or to_tsvector(ft.transcript) @@ to_tsquery(:Fts::varchar))) + else exists(select 1 from storage.file_transcript ft where ft.uuid = t.id::text and (:Fts::varchar isnull or to_tsvector(ft.transcript) @@ plainto_tsquery(:Fts::varchar))) end )) @@ -1097,7 +1097,7 @@ func (s SqlCallStore) Aggregate(ctx context.Context, domainId int64, aggs *model and ((:HasTranscript::bool isnull and :Fts::varchar isnull) or ( case :HasTranscript::bool when false then not exists(select 1 from storage.file_transcript ft where ft.uuid = h.id::text ) - else exists(select 1 from storage.file_transcript ft where ft.uuid = h.id::text and (:Fts::varchar isnull or to_tsvector(ft.transcript) @@ to_tsquery(:Fts::varchar))) + else exists(select 1 from storage.file_transcript ft where ft.uuid = h.id::text and (:Fts::varchar isnull or to_tsvector(ft.transcript) @@ plainto_tsquery(:Fts::varchar))) end ))