Skip to content

DoltLite 0.11.51

Choose a tag to compare

@timsehn timsehn released this 18 Aug 03:32
34b4712

Native serialization, broader backup support, custom collations, and
reliability fixes.

SQLite compatibility

  • Added native sqlite3_serialize() and sqlite3_deserialize(). Images preserve
    schema, data, branches, history, refs, and working sets.

  • sqlite3_backup_*() now supports attached and in-memory databases.

  • Custom collations work for expressions and unindexed columns. Custom-
    collated indexes remain unsupported.

  • All wal_checkpoint modes are accepted and mapped to chunk-store garbage
    collection.

Reliability

  • Restored TLS 1.3 HTTPS support in released amalgamations while keeping TLS
    stripped from remotes-disabled builds.

  • Rebases can survive reopen on dirty branches without losing uncommitted
    changes.

  • Fixed exclusive range scans around extended numeric keys and pending
    mutations.

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

File-Backed

Reads

Test SQLite (us) DoltLite (us) Multiplier
oltp_point_select 84,822 37,809 0.45
oltp_range_select 15,721 10,430 0.66
oltp_sum_range 15,003 10,266 0.68
oltp_order_range 2,950 2,488 0.84
oltp_distinct_range 3,776 3,317 0.88
oltp_index_scan 10,104 5,860 0.58
select_random_points 15,790 10,703 0.68
select_random_ranges 9,100 4,868 0.53
covering_index_scan 10,252 5,249 0.51
groupby_scan 25,940 26,738 1.03
index_join 8,414 7,624 0.91
index_join_scan 3,580 3,987 1.11
types_table_scan 866,856 923,986 1.07
table_scan 1,002,516 1,013,149 1.01
oltp_read_only 177,473 111,595 0.63
Average 0.77

Writes

Test SQLite (us) DoltLite (us) Multiplier
oltp_bulk_insert 200,151 261,101 1.30
oltp_insert 176,210 35,188 0.20
oltp_update_index 258,791 140,827 0.54
oltp_update_non_index 198,501 123,421 0.62
oltp_delete_insert 121,589 109,752 0.90
oltp_write_only 232,404 77,138 0.33
types_delete_insert 139,389 199,747 1.43
oltp_read_write 126,907 133,369 1.05
Average 0.80

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