Backwards incompatible change in this release:
- This release has a small behavior change to the
dolt_diff_$table
results. Previously changes to the schema of the table, in particular primary key changes, resulted in only the history of the table which was related to the most recent schema. Now thedolt_diff_$table
system table will make a best effort to include more history for the table even if we can't perfectly map schema changes.
Per Dolt’s versioning policy, this is a minor version bump because these changes may impact existing applications. Please reach out to us on GitHub or Discord if you have questions or need help with any of these changes.
Merged PRs
dolt
- 8685: update TableFunction
- 8631: Give a little more information in dolt_diff_* when there is a pk change
This change makes the dolt_diff_* system table a little more forgiving when schema changes occur that we can kind of map from one commit to the next. In the case of the issue, adding a primary key to a key keyless table. This doesn't work in both directions though - if you can't map the schema, we stop walking history (same as before).
Minor bump required due to behavior of the dolt_diff_* table changing are a result of this change.
Fixes: #8625
go-mysql-server
- 2795: allow using function as table function
- 2794: Bump go-icu-regex
Incorporates the fix from here:
Closed Issues
- 8625: dolt_diff_* returns empty set for tables altered to add a PK after creating using CREATE TABLE ... AS SELECT
- 8683:
dolt table import
does not understand a schema file with a primary key defined separately from the column - 8665: Panic on dolt_diff_* with generated column
Performance
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.93 | 0.62 | 0.32 |
groupby_scan | 13.46 | 16.41 | 1.22 |
index_join | 1.47 | 2.26 | 1.54 |
index_join_scan | 1.42 | 1.47 | 1.04 |
index_scan | 34.33 | 46.63 | 1.36 |
oltp_point_select | 0.18 | 0.27 | 1.5 |
oltp_read_only | 3.49 | 5.37 | 1.54 |
select_random_points | 0.33 | 0.6 | 1.82 |
select_random_ranges | 0.37 | 0.62 | 1.68 |
table_scan | 34.33 | 46.63 | 1.36 |
types_table_scan | 74.46 | 123.28 | 1.66 |
reads_mean_multiplier | 1.37 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
oltp_delete_insert | 8.9 | 6.21 | 0.7 |
oltp_insert | 4.1 | 3.07 | 0.75 |
oltp_read_write | 8.9 | 11.45 | 1.29 |
oltp_update_index | 4.18 | 3.13 | 0.75 |
oltp_update_non_index | 4.18 | 3.07 | 0.73 |
oltp_write_only | 5.77 | 6.21 | 1.08 |
types_delete_insert | 8.43 | 6.55 | 0.78 |
writes_mean_multiplier | 0.87 |
TPC-C TPS Tests | MySQL | Dolt | Multiple |
---|---|---|---|
tpcc-scale-factor-1 | 95.58 | 40.6 | 2.35 |
tpcc_tps_multiplier | 2.35 |
Overall Mean Multiple | 1.53 |
---|