Staging, reset, and merge correctness fixes.
Version-control correctness
dolt_atnow supportsWORKINGandSTAGED.- Fixed mixed-schema staging, per-table reset, duplicate
dolt_addarguments, and untracked index handling. - Commits now reject missing foreign-key parent tables.
- Eliminated false
dolt_schemaschanges for untouched views and triggers. - FTS merges now rebuild derived indexes when necessary, preventing malformed indexes.
Reliability
- Expanded stateful fuzzing to cover views and triggers.
- Hardened initial-push testing.
Benchmark / int-keys (100K rows, Linux x64)
File-Backed
Reads
| Test | SQLite (us) | DoltLite (us) | Multiplier |
|---|---|---|---|
| oltp_point_select | 91,489 | 48,162 | 0.53 |
| oltp_range_select | 17,272 | 14,096 | 0.82 |
| oltp_sum_range | 16,683 | 13,296 | 0.80 |
| oltp_order_range | 3,399 | 3,164 | 0.93 |
| oltp_distinct_range | 4,465 | 4,342 | 0.97 |
| oltp_index_scan | 10,816 | 7,547 | 0.70 |
| select_random_points | 16,711 | 13,246 | 0.79 |
| select_random_ranges | 9,719 | 5,899 | 0.61 |
| covering_index_scan | 11,045 | 6,385 | 0.58 |
| groupby_scan | 31,810 | 33,096 | 1.04 |
| index_join | 9,695 | 9,606 | 0.99 |
| index_join_scan | 4,177 | 4,681 | 1.12 |
| types_table_scan | 1,056,907 | 1,130,864 | 1.07 |
| table_scan | 1,209,271 | 1,279,247 | 1.06 |
| oltp_read_only | 201,221 | 149,010 | 0.74 |
| Average | 0.85 |
Writes
| Test | SQLite (us) | DoltLite (us) | Multiplier |
|---|---|---|---|
| oltp_bulk_insert | 193,724 | 259,485 | 1.34 |
| oltp_insert | 21,891 | 31,142 | 1.42 |
| oltp_update_index | 75,425 | 105,133 | 1.39 |
| oltp_update_non_index | 58,008 | 71,717 | 1.24 |
| oltp_delete_insert | 66,446 | 82,817 | 1.25 |
| oltp_write_only | 42,893 | 54,776 | 1.28 |
| types_delete_insert | 38,210 | 42,870 | 1.12 |
| oltp_read_write | 90,719 | 121,509 | 1.34 |
| Average | 1.30 |
100000 rows, median of 5 paired invocations per test; autocommit writes use 9, workload-only timing via host monotonic clock when available.