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:
@@ -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')
|
# enqueue — UNIQUE(document_id, stage) WHERE status IN ('pending', 'processing')
|
||||||
# 가 있으므로 활성 markdown 행이 없는 doc 만 통과. 충돌 시 silent skip.
|
# 가 있으므로 활성 markdown 행이 없는 doc 만 통과. 충돌 시 silent skip.
|
||||||
|
# CAST(:payload AS jsonb) — `::jsonb` postfix 캐스트는 SQLAlchemy text()
|
||||||
|
# 의 named-param prefix `:` 와 충돌해 syntax error 발생.
|
||||||
ENQUEUE_SQL = text("""
|
ENQUEUE_SQL = text("""
|
||||||
INSERT INTO processing_queue (document_id, stage, status, payload)
|
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
|
ON CONFLICT DO NOTHING
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user