Skip to content

DoltLite 0.11.54

Latest

Choose a tag to compare

@timsehn timsehn released this 24 Aug 20:49
b8f9f72

Stronger schema merges, broader SQLite compatibility, and faster writes.

Version-control correctness

  • Table renames merge cleanly, with indexes and triggers following their tables.
  • Fixed index corruption during merges and reverts, including keyless tables.
  • Fixed false rename detection and dolt_workspace_* self-subquery updates.
  • Historical and staged primary-key filters preserve SQLite affinity.

SQLite compatibility

  • Restored rowid, RETURNING, triggers, and incremental BLOB access on clustered primary keys.
  • Added working VACUUM INTO and correct transactional VACUUM errors.
  • Fixed COUNT … BETWEEN collation and INDEXED BY behavior.
  • Failed virtual-table creation now rolls back only its statement.

Performance

  • Reduced hashing work for large keys and clustered-key updates.

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

File-Backed

Reads

Test SQLite (us) DoltLite (us) Multiplier
oltp_point_select 85,616 37,624 0.44
oltp_range_select 15,934 10,294 0.65
oltp_sum_range 14,957 10,078 0.67
oltp_order_range 2,959 2,433 0.82
oltp_distinct_range 3,767 3,216 0.85
oltp_index_scan 10,172 5,923 0.58
select_random_points 16,141 10,798 0.67
select_random_ranges 9,166 4,796 0.52
covering_index_scan 10,336 5,264 0.51
groupby_scan 26,565 26,097 0.98
index_join 8,421 7,623 0.91
index_join_scan 3,595 4,007 1.11
types_table_scan 877,252 900,808 1.03
table_scan 990,140 1,001,792 1.01
oltp_read_only 175,353 108,684 0.62
Average 0.76

Writes

Test SQLite (us) DoltLite (us) Multiplier
oltp_bulk_insert 202,147 251,128 1.24
oltp_insert 26,675 35,930 1.35
oltp_update_index 236,596 150,088 0.63
oltp_update_non_index 128,724 87,220 0.68
oltp_delete_insert 120,982 104,263 0.86
oltp_write_only 91,684 83,776 0.91
types_delete_insert 87,318 66,649 0.76
oltp_read_write 150,678 134,047 0.89
Average 0.92

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