-- Таблицы, которые используют механизмы раздела 7 Условий использования. -- Бюджет Источника (п. 7.5). Счётчик, а не интервалы: расположение Фрагмента -- в тексте Источника значения не имеет; Продолжение стоит столько же, сколько -- любой другой Фрагмент. CREATE TABLE IF NOT EXISTS source_budget ( token TEXT NOT NULL, doc_id TEXT NOT NULL, epoch INTEGER NOT NULL, fragments INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (token, doc_id, epoch) ); -- Журнал обращений (п. 7.9). Тексты запросов, Строк совпадения и Фрагментов -- здесь не хранятся — и не должны, даже временно. CREATE TABLE IF NOT EXISTS access_log ( id INTEGER PRIMARY KEY AUTOINCREMENT, token TEXT NOT NULL, ts INTEGER NOT NULL, doc_id TEXT, chars INTEGER, guard TEXT -- сработавший механизм: no_attribution | budget | blocked | rate | ok ); CREATE INDEX IF NOT EXISTS ix_access_log_ts ON access_log(ts); CREATE INDEX IF NOT EXISTS ix_access_log_token ON access_log(token, ts);