Update sqlite3-python/README.md
This commit is contained in:
@@ -12,11 +12,12 @@ sql("SELECT * FROM sqlite_master WHERE type = 'table'")
|
||||
```python
|
||||
def SQL():
|
||||
import sqlite3, hashlib, os
|
||||
sql = lambda q, *p, con=sqlite3.connect('.db'): list(con.execute(q, p))
|
||||
if not os.path.exists('.db-blob') and (os.mkdir('.db-blob') or True):
|
||||
list(map(sql, ['PRAGMA journal_mode=WAL',
|
||||
'CREATE TABLE kv(k TEXT, v BLOB, t TIMESTAMP 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('.db', isolation_level=None)
|
||||
sql = lambda q, *p: list(con.execute(q, p))
|
||||
if not os.path.exists('.db-blob') and os.mkdir('.db-blob') is None:
|
||||
con.executescript('''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)''')
|
||||
def setitem(_, filename, blob):
|
||||
if not sql('SELECT 1 FROM kv WHERE v=?', sha1 := hashlib.sha1(blob).hexdigest()):
|
||||
with open(f'.db-blob/{sha1}', 'xb') as f: f.write(blob)
|
||||
@@ -30,6 +31,7 @@ sql = SQL()
|
||||
print(sql['hello']) # None
|
||||
sql['hello'] = b'world'
|
||||
print(sql['hello']) # b'world'
|
||||
print(sql['hello']) # b'world'
|
||||
```
|
||||
|
||||
# Dict-like
|
||||
|
||||
Reference in New Issue
Block a user