/** * Schema for redis_keys, redis_strings, redis_hashes, redis_sets (SPEC section 10). */ import type Database from './driver.ts'; export declare const SCHEMA = "\nCREATE TABLE IF NOT EXISTS redis_keys (\n key BLOB PRIMARY KEY,\n type INTEGER NOT NULL,\n expires_at INTEGER,\n set_count INTEGER,\n hash_count INTEGER,\n zset_count INTEGER,\n version INTEGER NOT NULL DEFAULT 1,\n updated_at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS redis_keys_expires_at_idx ON redis_keys(expires_at);\nCREATE INDEX IF NOT EXISTS redis_keys_type_idx ON redis_keys(type);\n\nCREATE TABLE IF NOT EXISTS redis_strings (\n key BLOB PRIMARY KEY,\n value BLOB NOT NULL,\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS redis_hashes (\n key BLOB NOT NULL,\n field BLOB NOT NULL,\n value BLOB NOT NULL,\n PRIMARY KEY (key, field),\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS redis_sets (\n key BLOB NOT NULL,\n member BLOB NOT NULL,\n PRIMARY KEY (key, member),\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS redis_list_meta (\n key BLOB PRIMARY KEY,\n head_seq INTEGER NOT NULL,\n tail_seq INTEGER NOT NULL,\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE TABLE IF NOT EXISTS redis_list_items (\n key BLOB NOT NULL,\n seq INTEGER NOT NULL,\n value BLOB NOT NULL,\n PRIMARY KEY (key, seq),\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS redis_list_items_key_seq_idx ON redis_list_items(key, seq);\n\nCREATE TABLE IF NOT EXISTS redis_zsets (\n key BLOB NOT NULL,\n member BLOB NOT NULL,\n score REAL NOT NULL,\n PRIMARY KEY (key, member),\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS redis_zsets_key_score_member_idx\n ON redis_zsets(key, score, member);\n\nCREATE TABLE IF NOT EXISTS redis_hash_field_ttl (\n key BLOB NOT NULL,\n field BLOB NOT NULL,\n expires_at INTEGER NOT NULL,\n PRIMARY KEY (key, field),\n FOREIGN KEY(key) REFERENCES redis_keys(key) ON DELETE CASCADE\n);\n\nCREATE INDEX IF NOT EXISTS redis_hash_field_ttl_expires_at_idx\n ON redis_hash_field_ttl(expires_at);\n\nCREATE TABLE IF NOT EXISTS search_indices (\n name TEXT PRIMARY KEY,\n schema_json TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS search_rowid_allocator (\n id INTEGER PRIMARY KEY AUTOINCREMENT\n);\n"; /** Type enum: 1=string, 2=hash, 3=set, 4=list, 5=zset */ export declare const KEY_TYPES: { STRING: number; HASH: number; SET: number; LIST: number; ZSET: number; }; /** * Apply schema to database. */ export declare function applySchema(db: Database): void;