Update README.md

This commit is contained in:
2024-12-22 13:03:24 +00:00
parent 3d3dd9cf36
commit c48b9f73da

View File

@@ -7,32 +7,22 @@ __import__('concurrent').futures.ThreadPoolExecutor().submit(
## sqlite3
```py
def SQL():
def File(blob):
try: import zmq; File.sock.send_pyobj(blob); return File.sock.recv_pyobj()
except (AttributeError, zmq.Again):
(sock := zmq.Context().socket(zmq.REQ)).connect('tcp://localhost:6106')
sock.RCVTIMEO = 1000; File.sock = sock; return File(blob)
import sqlite3
def File(blob):
try: import zmq; File.sock.send_pyobj(blob); return File.sock.recv_pyobj()
except (AttributeError, zmq.Again):
(sock := zmq.Context().socket(zmq.REQ)).connect('tcp://localhost:6106')
sock.RCVTIMEO = 1000; File.sock = sock; return File(blob)
import sqlite3, os; init = not os.path.exists('.db')
(con := sqlite3.connect('.db', isolation_level=None)).row_factory = sqlite3.Row
con.executescript("""
if init: con.executescript("""
PRAGMA journal_mode=WAL;
CREATE TABLE IF NOT EXISTS kv(k, v, t DEFAULT CURRENT_TIMESTAMP);
CREATE INDEX IF NOT EXISTS index_kv_v ON kv(v);
CREATE INDEX IF NOT EXISTS index_kv_k_t ON kv(k, t DESC);
""")
def setitem(sql, filename, blob):
assert isinstance(blob, bytes)
sql('INSERT INTO kv(k, v) VALUES(?,?)', filename, File(blob))
def getitem(sql, filename):
if sha1 := sql('SELECT v FROM kv WHERE k=? ORDER BY t DESC', filename):
return File(sha1[0]['v'])
def contains(sql, filename):
return bool(sql('SELECT 1 FROM kv WHERE k=?', filename))
def df(sql):
import pandas as pd
return pd.DataFrame(sql('SELECT * FROM kv'))
CREATE TABLE kv(k, v, t DEFAULT CURRENT_TIMESTAMP);
CREATE INDEX index_kv_v ON kv(v);
CREATE INDEX index_kv_k_t ON kv(k, t DESC);""")
return type('', (), dict(__call__=lambda _, q, *p: list(map(dict, con.execute(q, p))),
__setitem__=setitem, __getitem__=getitem, __contains__=contains, df=df))()
__setitem__=lambda sql, k, v: sql('INSERT INTO kv(k,v) VALUES(?,?)', k, File(v)),
__getitem__=lambda sql, k: File(v[0]['v']) if (v := sql(
'SELECT v FROM kv WHERE k=? ORDER BY t DESC LIMIT 1', k)) else None,
__contains__=lambda sql, k: bool(sql('SELECT 1 FROM kv WHERE k=?', k))))()
sql = SQL()
```