- Replace Mutex<Connection> with Vec<Mutex<Connection>> pool (default 4) with try_lock fast-path and blocking fallback - Add SessionRecord struct and session CRUD to Store trait (default no-ops) - Implement session persistence in SqlStore (sessions table, migration 009) - Add blob upload/download with SHA-256 verified staging assembly (blobs + blob_staging tables, migration 010) - All 35 server tests pass, FileBackedStore unaffected
16 lines
435 B
SQL
16 lines
435 B
SQL
CREATE TABLE IF NOT EXISTS blobs (
|
|
blob_id BLOB PRIMARY KEY,
|
|
data BLOB NOT NULL,
|
|
total_size INTEGER NOT NULL,
|
|
mime_type TEXT NOT NULL DEFAULT '',
|
|
uploaded_at INTEGER NOT NULL
|
|
);
|
|
CREATE TABLE IF NOT EXISTS blob_staging (
|
|
blob_hash BLOB NOT NULL,
|
|
offset INTEGER NOT NULL,
|
|
chunk BLOB NOT NULL,
|
|
total_size INTEGER NOT NULL,
|
|
mime_type TEXT NOT NULL DEFAULT '',
|
|
PRIMARY KEY (blob_hash, offset)
|
|
);
|