From 19012ef627edd2596e1ce9cac1e96f780e2c1321 Mon Sep 17 00:00:00 2001 From: jay817 Date: Fri, 22 Nov 2024 12:41:15 -0500 Subject: [PATCH] Update sqlite3-python/README.md --- sqlite3-python/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sqlite3-python/README.md b/sqlite3-python/README.md index cf86a49..8428091 100644 --- a/sqlite3-python/README.md +++ b/sqlite3-python/README.md @@ -9,6 +9,24 @@ sql("SELECT * FROM sqlite_master WHERE type = 'table'") ``` # Dict-like +```python +def SQL(): + from sqlite3 import connect, Row + (con := connect('.db.sql', isolation_level=None)).row_factory = Row + sql = type('', (), dict( + __call__=lambda _, q, *p: list(map(dict, con.execute(q, p))), + __iter__=lambda sql: (kv.values() for kv in sql('SELECT * FROM kv')), + __getitem__=lambda sql, k: sql('SELECT v FROM kv WHERE k=?', k)[0]['v'], + __setitem__=lambda sql, k, v: + sql('INSERT or REPLACE INTO kv VALUES(?,?)', k, v), + ))() + sql('PRAGMA journal_mode=wal') + sql('PRAGMA busy_timeout='f'{1e9}') + sql('CREATE TABLE IF NOT EXISTS kv(k PRIMARY KEY, v)') + return sql +sql = SQL() +``` + ```python def Dict(db='dict.db', *, sqlite3=__import__('sqlite3')): sql = sqlite3.connect(db, isolation_level=None, timeout=1e999).execute