CREATE TABLE IF NOT EXISTS uploads ( upload_id TEXT PRIMARY KEY, binding BLOB NOT NULL, asset BLOB NOT NULL, grant BLOB NOT NULL, object_key TEXT NOT NULL, state TEXT NOT NULL CHECK (state IN ('granted', 'completed', 'failed')), created_at TEXT NOT NULL, completed_at TEXT ); CREATE INDEX IF NOT EXISTS uploads_state_idx ON uploads (state, created_at);