AlleksDev commited on
Commit
d76e281
·
unverified ·
1 Parent(s): f803317

fix: empty return7

Browse files
sql/aws_pgvector_contract.sql CHANGED
@@ -370,7 +370,7 @@ BEGIN
370
  SELECT 1
371
  FROM jsonb_array_elements_text($4->'tags') AS allowed(value)
372
  WHERE lower(COALESCE(e.metadata->>'tags', ''))
373
- LIKE ('%' || lower(allowed.value) || '%')
374
  )
375
  )
376
  AND (
 
370
  SELECT 1
371
  FROM jsonb_array_elements_text($4->'tags') AS allowed(value)
372
  WHERE lower(COALESCE(e.metadata->>'tags', ''))
373
+ LIKE ('%%' || lower(allowed.value) || '%%')
374
  )
375
  )
376
  AND (
tests/test_sql_contract.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+
3
+
4
+ def test_hybrid_search_dynamic_sql_escapes_format_percent_signs() -> None:
5
+ contract = Path("sql/aws_pgvector_contract.sql").read_text(encoding="utf-8")
6
+ dynamic_sql = contract.split("RETURN QUERY EXECUTE format($query$", maxsplit=1)[1]
7
+ dynamic_sql = dynamic_sql.split("$query$, target_table)", maxsplit=1)[0]
8
+
9
+ remaining_percent_signs = dynamic_sql.replace("%%", "").replace("%I", "")
10
+
11
+ assert "%" not in remaining_percent_signs