Skip to content

Doltlite 0.11.41

Choose a tag to compare

@timsehn timsehn released this 05 Aug 00:51
e2be0af

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.