-- 235_study_quiz_session_analysis.sql
-- Phase 4-B v1: 세션 단위 분석 결과 캐시. session_id PK — 한 세션 = 한 분석.
-- worker 가 ON CONFLICT DO UPDATE 로 UPSERT. job 이력은 별도 누적, 결과 캐시는 1 row.
-- is_stale=TRUE 는 사용자 [재생성] 클릭 후 worker 처리 끝까지만. 워커가 마지막에 FALSE 로 다시 박음.

CREATE TABLE study_quiz_session_analysis (
    study_quiz_session_id    BIGINT       PRIMARY KEY REFERENCES study_quiz_sessions(id) ON DELETE CASCADE,
    user_id                  BIGINT       NOT NULL REFERENCES users(id)                  ON DELETE CASCADE,
    summary_md               TEXT         NOT NULL,
    confidence               VARCHAR(10),
    model_name               VARCHAR(120),
    generated_at             TIMESTAMPTZ  NOT NULL DEFAULT now(),
    is_stale                 BOOLEAN      NOT NULL DEFAULT FALSE
);
