Revision c123f42ed2e1a86eadd5a2368746828cfe4319b9
Committed on 14/12/2025 8:30 pm by
Zohaib Sibte Hassan <zohaib@sibte.pk> [GitHub Diff]
Add SQLite batch committer for improved write throughput
- New SQLiteBatchCommitter batches multiple DML transactions into single
SQLite transaction, reducing fsync overhead
- Uses go-future library for Promise/Future pattern
- Opens dedicated connection with aggressive write optimizations:
- synchronous=OFF, cache_size=64MB, mmap_size=256MB
- wal_autocheckpoint=10000, journal_size_limit=64MB
- DDL transactions bypass batching (require immediate schema reload)
- Config: batch_commit.enabled=true, max_batch_size=512, max_wait_ms=2
- Reuses existing SchemaCache.Reload() via conn.Raw() for DRY
- Deletes unused commit_batcher.go (was dead code)
- Fixes bug: batch committer properly stopped in Close()
???? Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>