From 5b0c81a9e47a1dbc356d51794f4c75665cc72315 Mon Sep 17 00:00:00 2001 From: jay817 Date: Mon, 17 Mar 2025 14:59:37 +0000 Subject: [PATCH] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 370af2d..89079db 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,18 @@ class SQL: "PRAGMA journal_mode=WAL; CREATE TABLE kv(k,v,t DEFAULT CURRENT_TIMESTAMP);" "CREATE INDEX idx_kv_v ON kv(v); CREATE INDEX idx_kv_k_t ON kv(k,t DESC);") (con := sqlite3.connect(f'{db}/sql', check_same_thread=False, - isolation_level=None)).execute("PRAGMA busy_timeout="f'{1e9}'); sql.con = con + isolation_level=None)).execute("PRAGMA busy_timeout="f'{1e9}'); sql.con = con def __call__(sql, q, *p): return [*sql.con.execute(q, p)] def __setitem__(sql, k, v): return sql("INSERT INTO kv(k,v) VALUES(?,?)", k, v if type(v) is bytes else __import__('json').dumps(v, ensure_ascii=False)) def __getitem__(sql, k): if (v := sql("SELECT v FROM kv WHERE k=? ORDER BY t DESC LIMIT 1", k)): return __import__('json').loads(v) if type(v := v[0][0]) is str else v - def __eq__(sql, query): return sql("SELECT * FROM kv WHERE k LIKE ?", query) - def __ne__(sql, query): return sql("SELECT * FROM kv WHERE k NOT LIKE ?", query) def __delitem__(sql, rows): for row in rows: sql("DELETE FROM kv WHERE k=? AND v=? AND t=?", *row) def __contains__(sql, k): return bool(sql("SELECT 1 FROM kv WHERE k=?", k)) + def __eq__(sql, query): return sql("SELECT * FROM kv WHERE k LIKE ?", query) + def __ne__(sql, query): return sql("SELECT * FROM kv WHERE k NOT LIKE ?", query) def __len__(sql): return sql("SELECT COUNT(*) FROM kv")[0][0] def __iter__(sql): return iter(k[0] for k in sql("SELECT k FROM kv")) def __repr__(sql): return f"SQL(db={sql.db})"