Merged PRs
dolt
- 6018: Optimize COMMIT performance for large databases.
A bottleneck in sanity checks that we run when we add new chunks to the database could make commit performance slow down as the database increased in size. On some benchmarks we ran, a typical slowdown might be ~100ms per 100GBs of database size. This optimizes the code paths involved to use more efficient algorithms and to use a scan resistant LRU cache. - 6013: Fix typo in sql-server cli docs
- 6003: Add new implementation of ParseGlobalArgs
The main benefit of this new implementation is that it won't incorrectly parse situations where a global arg value (such as username) matches a dolt subcommand. (This would have been especially problematic when we got around to convertingdolt admin
.)
This also adds a nifty little burndown chart of commands that still need to be converted from using dEnv to using CliContext, in order to determine whether to generate the CliContext for a command. It'll be extra satisfying to remove elements from that list as we convert them. - 5986: create rust mysql client integration test
creates an integration test to verify support for rust mysql clients
fixes: #5622 - 5957: Add support for
dolt table import -a
I ended up going with @zachmu's suggestion of making this a new operation type like-u
,-c
, and-r
instead of a separate flag after I realized that-c
and-r
already disallow overwriting fields and it didn't really make sense to add a flag that could only be used with-u
.
This is less ambitious than what was outlined in #5936. Notably, I made a big deal in the issue about how you can import the same file multiple times or files that contain previously imported rows without issue. This was a mostly a pet feature that I erroneously assumed would be simple to implement. Given that it wasn't a requirement, after some exploration I ultimately decided to drop it.
This should be enough to unblock the customer; we talked about implementing a--strict
flag too but I don't think it's necessary for their use case.
Closed Issues
- 5622: Add a Rust MySQL Connector test
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.96 | 2.86 | 1.5 |
groupby_scan | 12.3 | 17.01 | 1.4 |
index_join | 1.16 | 4.33 | 3.7 |
index_join_scan | 1.12 | 2.14 | 1.9 |
index_scan | 30.26 | 55.82 | 1.8 |
oltp_point_select | 0.15 | 0.49 | 3.3 |
oltp_read_only | 2.86 | 8.28 | 2.9 |
select_random_points | 0.29 | 0.75 | 2.6 |
select_random_ranges | 0.35 | 1.14 | 3.3 |
table_scan | 30.81 | 56.84 | 1.8 |
types_table_scan | 69.29 | 176.73 | 2.6 |
reads_mean_multiplier | 2.4 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 4.49 | 5.88 | 1.3 |
oltp_insert | 2.14 | 2.81 | 1.3 |
oltp_read_write | 6.09 | 15.55 | 2.6 |
oltp_update_index | 2.26 | 2.91 | 1.3 |
oltp_update_non_index | 2.22 | 2.86 | 1.3 |
oltp_write_only | 3.25 | 7.56 | 2.3 |
types_delete_insert | 4.49 | 6.55 | 1.5 |
writes_mean_multiplier | 1.6 |
Overall Mean Multiple | 2.1 |
---|