fix: 搜索页 filter-options 500 — nlm_subsets @> ARRAY[...] 补 ::varchar[] cast(varchar[] vs text[] 类型不匹配)
This commit is contained in:
@@ -206,7 +206,7 @@ async def _load_filter_options(db: AsyncSession) -> dict:
|
||||
# 3. nlm_subsets(单次 JOIN + COUNT FILTER,代替 8 次独立查询)
|
||||
# 注:code 来自上方 NLM_SUBSET_LABELS 硬编码常量,无注入风险
|
||||
subset_filter_cols = ", ".join(
|
||||
f'COUNT(*) FILTER (WHERE j.nlm_subsets @> ARRAY[\'{code}\']) AS "{code}"'
|
||||
f'COUNT(*) FILTER (WHERE j.nlm_subsets @> ARRAY[\'{code}\']::varchar[]) AS "{code}"'
|
||||
for code in NLM_SUBSET_LABELS
|
||||
)
|
||||
subset_row = (await db.execute(text(f"""
|
||||
|
||||
Reference in New Issue
Block a user