fix(scripts): marker reprocess SQL — CAST(:payload AS jsonb) 로 named-param 충돌 해소

`:payload::jsonb` 의 `::` postfix 캐스트가 SQLAlchemy text() 의 named-param prefix
`:` 와 충돌해 asyncpg syntax error. doc 3757 sample reprocess 시 발견.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-05-10 14:27:17 +09:00
parent 68fa86ea52
commit f2a5c729b7
+3 -1
View File
@@ -126,9 +126,11 @@ async def run(*, apply: bool, only_ids: set[int] | None, snapshot_csv: str | Non
# enqueue — UNIQUE(document_id, stage) WHERE status IN ('pending', 'processing')
# 가 있으므로 활성 markdown 행이 없는 doc 만 통과. 충돌 시 silent skip.
# CAST(:payload AS jsonb) — `::jsonb` postfix 캐스트는 SQLAlchemy text()
# 의 named-param prefix `:` 와 충돌해 syntax error 발생.
ENQUEUE_SQL = text("""
INSERT INTO processing_queue (document_id, stage, status, payload)
VALUES (:doc_id, 'markdown', 'pending', :payload::jsonb)
VALUES (:doc_id, 'markdown', 'pending', CAST(:payload AS jsonb))
ON CONFLICT DO NOTHING
""")