Merged PRs
dolt
- 11040: fixed compat tests for a post-2.0 CI
- 11038: remove adapative encoding matrixes
Now that adaptive encoding is on by default, we don't need to double our CI testing efforts anymore. - 11035: Refactor
prollyWriteSessionandprollyTableWriterfor individual table flushing
This PR refactors flushing logic betweenprollyWriteSessionandprollyTableWriter.
Now, theprollyTableWriteris in charge of materializing the table and handling the auto increment logic, while theprollyWriteSessionis in charge of keeping the workingSet up to date.
The flush all table logic has been reworked inprollyWriteSessionto use channels instead of a mutex.
Additionally, this PR allows us to flush individual tables rather than every table in the session; this avoids concurrency overheads and no-op flushes. - 11032: Let merge-permission users write through dolt_conflicts_
Adds a branch-control carve-out so a user with onlyPermissions_Mergeon a branch can resolve a merge that produced data conflicts by writing throughdolt_conflicts_<t>and viaDOLT_CONFLICTS_RESOLVE. Lets a PR reviewer on the SQL workbench finish a conflicting merge without being granted full write access on the target branch. - 11030: Gate DELETE on dolt_conflicts_ with branch_control Write permission
- 11029: Allow index lookups on DOLT_DIFF table function.
Currently, the DOLT_DIFF table function does not expose any indexes. But it can. - 11020: .github: Factor out build-dolt and setup-dolt-config actions. Use them from workflows that want dolt binaries, like bats and sql-server-integration tests.
- 10853: chore: fix function name in comment to match actual function
fix function name in comment to match actual function
Closed Issues
- 11041: FK action ON DELETE SET DEFAULT (and ON UPDATE SET DEFAULT) rejected at CREATE TABLE
Performance
| Read Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| covering_index_scan | 1.93 | 0.55 | 0.28 |
| groupby_scan | 13.7 | 9.91 | 0.72 |
| index_join | 1.52 | 1.82 | 1.2 |
| index_join_scan | 1.47 | 1.34 | 0.91 |
| index_scan | 34.33 | 22.28 | 0.65 |
| oltp_point_select | 0.2 | 0.25 | 1.25 |
| oltp_read_only | 3.82 | 5.0 | 1.31 |
| select_random_points | 0.35 | 0.5 | 1.43 |
| select_random_ranges | 0.39 | 0.55 | 1.41 |
| table_scan | 34.95 | 22.28 | 0.64 |
| types_table_scan | 77.19 | 47.47 | 0.61 |
| reads_mean_multiplier | 0.95 |
| Write Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| oltp_delete_insert | 8.43 | 6.32 | 0.75 |
| oltp_insert | 4.18 | 3.07 | 0.73 |
| oltp_read_write | 9.22 | 10.84 | 1.18 |
| oltp_update_index | 4.25 | 3.13 | 0.74 |
| oltp_update_non_index | 4.18 | 2.97 | 0.71 |
| oltp_write_only | 5.28 | 5.77 | 1.09 |
| types_delete_insert | 8.58 | 6.55 | 0.76 |
| writes_mean_multiplier | 0.85 |
| TPC-C TPS Tests | MySQL | Dolt | Multiple |
|---|---|---|---|
| tpcc-scale-factor-1 | 92.64 | 49.99 | 1.85 |
| tpcc_tps_multiplier | 1.85 |
| Overall Mean Multiple | 1.22 |
|---|