-- VizieR TAP / VO 查询结果本地缓存 -- 对齐 paper_targets 的缓存范式:JSON 列存复杂结构、UNIQUE 约束、索引 CREATE TABLE IF NOT EXISTS vizier_query_cache ( id INTEGER PRIMARY KEY AUTOINCREMENT, query_hash TEXT NOT NULL, -- sha1(adql + max_records) adql TEXT NOT NULL, max_records INTEGER, result_json TEXT NOT NULL, -- 序列化后的 VizierQueryResult created_at DATETIME DEFAULT CURRENT_TIMESTAMP, expires_at DATETIME, -- TTL 过期时间(NULL = 永不过期) UNIQUE(query_hash) ); CREATE INDEX IF NOT EXISTS idx_vizier_cache_hash ON vizier_query_cache(query_hash);