diff --git a/scripts/marker_reprocess_existing_success.py b/scripts/marker_reprocess_existing_success.py index 04e56c0..48f58a4 100644 --- a/scripts/marker_reprocess_existing_success.py +++ b/scripts/marker_reprocess_existing_success.py @@ -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 """)