Merged PRs
dolt
- 5852: go/libraries/doltcore/sqle: database_provider.go: When cloning a remote into a sql-server, always run the InitDatabaseHook on it.
Failing to run the hook means that the cloned database is not appropriately configured for replication, for example.
Fixes: #5850 - 5847: support ViewDatabase for clusterdb
- 5838: Adding a mysql connector integ test for the Ruby mysql2 library
Issue #5834 uncovered that we weren't testing what seems to be the recommended Ruby MySQL connector library (mysql2
), so this PR adds a connector integration test for it. - 5831: prevent panics on chain alters
Partial fix for: #5786
Companion PR: dolthub/go-mysql-server#1736
go-mysql-server
- 1741: allow renaming views with
RENAME TABLE
statement
This is the same PR as dolthub/go-mysql-server#1712 (it was reverted)- allows renaming views using
RENAME TABLE
statement - fails on renaming views using
ALTER TABLE ... RENAME ...
statement
- allows renaming views using
- 1739: Populating the
Decimal
property in Field response metadata
Fixes #5834
In addition to the unit tests here, I'm also working on a Dolt PR to update the mysql connector library integration tests to test the Rubymysql2
library. - 1736: order multi-alter statements
When running multi-alter statements, MySQL reorders the alters.
This PR adds a sort function to organize these statements; the precedence order is currently:RENAME COLUMN
DROP COLUMN
ADD COLUMN
ALTER INDEX
Note: When this is supposed to work, it does, but when it doesn't our error messages are different than the ones returned by MySQL. There are existing alter tests that also return the incorrect error, but I don't think this is worth fixing right now.
I also unskipped one BrokenScriptTest and fix the expected results for the others.
Companion PR: #5831
Closed Issues
- 5855: Trigger requires an empty column in order to set new row value with dolt table import
- 5850:
CALL dolt_clone()
does not configure the cloned database for replication. - 5786: Dolt panics on a chained alter of adding a column and adding a unique key to the same column
- 5822: Long JSON query truncated
- 5834: ruby mysql2 gem reads field types incorrectly
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.93 | 2.76 | 1.4 |
groupby_scan | 12.3 | 16.41 | 1.3 |
index_join | 1.18 | 4.1 | 3.5 |
index_join_scan | 1.14 | 2.07 | 1.8 |
index_scan | 30.81 | 55.82 | 1.8 |
oltp_point_select | 0.15 | 0.5 | 3.3 |
oltp_read_only | 2.91 | 8.74 | 3.0 |
select_random_points | 0.3 | 0.75 | 2.5 |
select_random_ranges | 0.35 | 1.14 | 3.3 |
table_scan | 31.37 | 55.82 | 1.8 |
types_table_scan | 71.83 | 173.58 | 2.4 |
reads_mean_multiplier | 2.4 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 5.0 | 5.99 | 1.2 |
oltp_insert | 2.48 | 2.97 | 1.2 |
oltp_read_write | 6.67 | 15.83 | 2.4 |
oltp_update_index | 2.57 | 3.02 | 1.2 |
oltp_update_non_index | 2.61 | 3.02 | 1.2 |
oltp_write_only | 3.75 | 7.43 | 2.0 |
types_delete_insert | 5.09 | 6.67 | 1.3 |
writes_mean_multiplier | 1.4 |
Overall Mean Multiple | 2.0 |
---|