fix: skip unnecessary String cast on already-string search columns

This commit is contained in:
2026-07-26 16:10:38 +02:00
committed by d3vyce
parent adc0ff14c1
commit 169bf710f0
2 changed files with 21 additions and 2 deletions
+5 -2
View File
@@ -159,8 +159,11 @@ def build_search_filters(
else:
column = field
# Build the filter (cast to String for non-text columns)
column_as_string = column.cast(String)
# Build the filter (cast to String only when needed, to preserve
# pg_trgm GIN index usability on already-String columns)
column_as_string = (
column if isinstance(column.type, String) else column.cast(String)
)
if config.case_sensitive:
filters.append(column_as_string.like(f"%{query}%"))
else: