-- 351_documents_paper_doi_uq.sql
-- 안전 자료실 A-1 (12/12) — 논문 DOI dedup 구조 강제 (partial UNIQUE).
-- doi 보유 계약 (R3 — R2-B1): paper.doi 는 서지 Document 단일 보유.
--   OA 전문 PDF / 구매분 file Document 는 paper.doi 를 갖지 않고 paper.parent_doi 링크로 연결
--   → 인덱스 식이 NULL 이라 다중 행 허용, 2-Document 구조와 무충돌.
-- DOI 정규화(소문자·prefix 제거)는 단일 함수 경유 — 저장=조회 동일 함수 원칙 (B-3).
CREATE UNIQUE INDEX IF NOT EXISTS uq_documents_paper_doi
    ON documents (lower(extract_meta #>> '{paper,doi}'))
    WHERE material_type = 'paper' AND extract_meta #>> '{paper,doi}' IS NOT NULL;
