Merged PRs
dolt
- 8730: Make show command more resilient when resolving references
Currently the show command can print internal objects, which requires a local environment. This goes against the sql migration expectations that there is no environment. This change only makes the situation less bad. Splitting out the admin operations into another command is the right approach.
Fixes: #8727 - 8726: Replace min/max helpers with built-in min/max
We can use the built-inmin
andmax
functions since Go 1.21.
Reference: https://go.dev/ref/spec#Min_and_max - 8719: Replace min/max helpers with built-in min/max
We can use the built-inmin
andmax
functions since Go 1.21.
Reference: https://go.dev/ref/spec#Min_and_max - 8644: Generate config.yaml when running sql-server
If sql-server is ran without a specified config file and there is no config.yaml in the database directory, one will be generated.
The rules for how the default config.yaml file is generated are as follows:- If a field has a value defined by the sql-server execution (such as through CLI args), then that value will be used.
- If a field has no set value but has a default value, then that default will be used.
- If a field has no set value and no default, a commented-out line setting the field to null will be included as a placeholder.
Part of #7980
go-mysql-server
- 2811: Reset BytesBuffer after each rowBatch
Once we spool a batch of rows to client, there's no reason to keep them in memory.
Fixes #8718
Closed Issues
- 8736: Sort/Alias dependency conflict preventing prune
- 8735: [Bug]
FULL OUTER JOIN
not commutative, and not giving correct results - 8724: [Bug] Incorrect SUM calculation in CTE with correlated subquery
- 8727: \show in SQL shell panics when arg isn't a commit
- 8718: mydumper OOMs in deterministic fashion for large database
Performance
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.89 | 0.65 | 0.34 |
groupby_scan | 13.22 | 17.32 | 1.31 |
index_join | 1.44 | 2.43 | 1.69 |
index_join_scan | 1.42 | 1.44 | 1.01 |
index_scan | 34.33 | 30.81 | 0.9 |
oltp_point_select | 0.18 | 0.26 | 1.44 |
oltp_read_only | 3.49 | 5.37 | 1.54 |
select_random_points | 0.37 | 0.6 | 1.62 |
select_random_ranges | 0.4 | 0.63 | 1.57 |
table_scan | 34.33 | 33.12 | 0.96 |
types_table_scan | 74.46 | 114.72 | 1.54 |
reads_mean_multiplier | 1.27 |
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 | 9.06 | 11.45 | 1.26 |
oltp_update_index | 4.18 | 3.13 | 0.75 |
oltp_update_non_index | 4.18 | 3.07 | 0.73 |
oltp_write_only | 5.67 | 6.32 | 1.11 |
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.72 | 39.79 | 2.41 |
tpcc_tps_multiplier | 2.41 |
Overall Mean Multiple | 1.52 |
---|