Library

doltlite v0.11.41

Versionv0.11.41
Stars★ 179
Released2026-08-05

DoltLite - Version Controlled SQLite

Release notes

# DoltLite 0.11.41

Stronger version-control concurrency, HTTP remotes, and storage validation.

### Version control

- Improved schema merges for complex DDL, independent constraint changes, and typed unique keys.
- Prevented stale working sets and rebases from overwriting concurrent or unrelated branch state.
- Failed or raced merges now restore session state instead of leaving a phantom merge in progress.
- Merge amendments preserve every parent.
- Fixed staged commits with untracked schemas.
- `dolt_blame` supports primary keys up to SQLite's column limit.

### Remotes

- HTTP pushes use retryable, acknowledged 32 MiB batches.
- Remotesrv safely caches stores and reports structured errors.
- Fetched chunks are verified against their requested hashes.
- Auth and TLS use SQLite's allocator.

### Reliability

- Batch updates preserve canonical prolly-tree shape and deterministic hashes.
- Refs decoding rejects missing fields, invalid defaults, trailing data, and unsafe sizes.
- Fixed record encoding, deferred-seek errors, pending-edit visibility, mutation ordering, and a failed-commit use-after-free.

### Compatibility and quality

- Legacy SQLite databases use the stock engine for `VACUUM` and backup.
- Checkpoints target the requested attached database.
- Benchmarks use repeated median sampling.
- Fuzzing and concurrency harnesses distinguish engine failures from harness errors.

## Benchmark / int-keys (100K rows, Linux x64)

### File-Backed

#### Reads

| Test | SQLite (us) | DoltLite (us) | Multiplier |
|------|------------:|--------------:|-----------:|
| oltp_point_select | 50,749 | 36,031 | 0.71 |
| oltp_range_select | 12,423 | 12,273 | 0.99 |
| oltp_sum_range | 12,281 | 12,036 | 0.98 |
| oltp_order_range | 2,766 | 2,789 | 1.01 |
| oltp_distinct_range | 3,514 | 3,649 | 1.04 |
| oltp_index_scan | 6,728 | 6,216 | 0.92 |
| select_random_points | 13,554 | 11,985 | 0.88 |
| select_random_ranges | 5,683 | 4,597 | 0.81 |
| covering_index_scan | 6,943 | 5,201 | 0.75 |
| groupby_scan | 28,495 | 29,900 | 1.05 |
| index_join | 7,199 | 8,840 | 1.23 |
| index_join_scan | 3,302 | 4,516 | 1.37 |
| types_table_scan | 988,277 | 1,158,959 | 1.17 |
| table_scan | 1,154,616 | 1,275,914 | 1.11 |
| oltp_read_only | 139,367 | 126,877 | 0.91 |
| Average |  |  | 0.99 |

#### Writes

| Test | SQLite (us) | DoltLite (us) | Multiplier |
|------|------------:|--------------:|-----------:|
| oltp_bulk_insert | 167,361 | 234,046 | 1.40 |
| oltp_insert | 17,740 | 28,945 | 1.63 |
| oltp_update_index | 63,420 | 114,861 | 1.81 |
| oltp_update_non_index | 43,474 | 66,172 | 1.52 |
| oltp_delete_insert | 51,997 | 84,675 | 1.63 |
| oltp_write_only | 31,828 | 50,970 | 1.60 |
| types_delete_insert | 32,483 | 44,055 | 1.36 |
| oltp_read_write | 78,532 | 112,096 | 1.43 |
| Average |  |  | 1.55 |

_100000 rows, median of 5 paired invocations per test; autocommit writes use 9, workload-only timing via host monotonic clock when available._

Share this resource


Discovered 2026-08-07 Source GitHub Archive 2026-08 →