Merged PRs
dolt
- 5547: dolt checkout table restores foreign key collection
- 5538: spatial indexes on by default
- 5532: go: sqle: Remove some uses of sql.Context.WithCurrentDB, which is hopefully going away as confusing.
- 5527: make dolt_patch() stored procedure into dolt_patch() table function
This PR removesdolt_patch()
stored procedure and addsdolt_patch()
table function.
Thedolt_patch()
table function supports:WORKING
,STAGED
,HEAD
and any valid commit hash revisions.- three dot diff for sql patch statements.
schema
ordata
only statements can be queried withWHERE
clause ofdiff_type
column.- has
statement_order
auto_increment integer value as primary key. - includes hashes for from and to revisions
Added few bats tests fordolt stash
and updated its synopsis and long descriptions.
- 5514: fix keyless duplicate update
fix for: #5442 and #5433
tests: dolthub/go-mysql-server#1642 - 5389: split ZRanges to improve Spatial Index Lookup
This PR implementsBIGMIN/LITMAX
algorithm to split up large Z-Ranges into multiple more concise Z-Ranges.
Up to a certain extent, this improves query times.
go-mysql-server
- 1646: Streamlined FK RESTRICT processing
One of the strategies I mentioned in #5508 was foregoing loading child editors when all referential actions for a foreign key areRESTRICT
. Turns out that all we needed to do is to not add the updater (which is housed inside of the editor) to the chain.
I was going to implement something a bit more complex, as we should be able to ignore all updaters that aren't actually used using runtime analysis, however I backtracked those changes as it was getting quite complex, and the added complexity did not seem worth it at all.
There are no additional tests, as this is strictly a performance improvement. Foreign keys are one of our most well-tested features, so I'm confident that it is correct with all of the tests passing. - 1643: shift expandStars getFields by scopeLen
Select *
was being converted into get fields without an outer scope offset, preventing certain unnesting transformations. - 1641: make
st_within
use spatial indexes - 1639: Handle Quotes in Default Column Values
See Issue: #5411
Both Default values and check constraints are impacted by the fact that we write strings to storage without escaping the single quote character or backslash appropriately. This change encodes both and adds tests to verify correct behavior. Tests were added for procedures, views, and triggers, they they weren't impacted by this particular defect. - 1638: Fixing incorrect size for
SOURCE_HOST
member ofSHOW REPLICA STATUS
vitess
- 225: fix parser to handle unique constraint names properly
support these statements:alter table <table_name> add constraint unique (<column_list>)
alter table <table_name> add constraint <name> unique (<column_list>)
alter table <table_name> add constraint unique <name> (<column_list>)
alter table <table_name> add constraint <name> unique <preferred_name> (<column_list>)
fix for: #5479
- 224: reorganizing time units and add extract syntax support
syntax to fix: #3006
Closed Issues
- 5471:
dolt checkout
does not restore dropped foreign key constraints - 5491: Additional
dolt_patch
features (three dot,--schema
/--data
flags) - 5490:
dolt_patch
prodecure does not work withWORKING
andSTAGED
revisions - 5442: dolt panic with ON DUPLICATE KEY UPDATE
- 5536: Function
dolt_push
not found - 1100: Dolt commands don't understand
.\
for files in Powershell - 5508: Slow writes to table with many dependent foreign keys
- 5479: constraint name dropped
- 4077: Can't use a new format database in the same
sql-server
as an old format database - 5322: Commit hash mapping system table for migrated databases
- 5073: Alias bug with
INSERT INTO ON DUPLICATE KEY UPDATE
- 5394: Mysql Database import fails
duplicate primary key given: [1]
- 5411: Dolt can't handle two single quotes in a default value on create table
- 5487:
LEFT OUTER JOIN
does not select opposite table's values (in MySQL does) - 1317: README Rewrite
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.96 | 2.86 | 1.5 |
groupby_scan | 12.3 | 16.41 | 1.3 |
index_join | 1.21 | 4.33 | 3.6 |
index_join_scan | 1.16 | 2.07 | 1.8 |
index_scan | 30.81 | 51.94 | 1.7 |
oltp_point_select | 0.15 | 0.48 | 3.2 |
oltp_read_only | 2.97 | 8.43 | 2.8 |
select_random_points | 0.3 | 0.74 | 2.5 |
select_random_ranges | 0.36 | 1.14 | 3.2 |
table_scan | 30.81 | 52.89 | 1.7 |
types_table_scan | 70.55 | 158.63 | 2.2 |
reads_mean_multiplier | 2.3 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 5.09 | 5.88 | 1.2 |
oltp_insert | 2.57 | 2.76 | 1.1 |
oltp_read_write | 6.67 | 15.55 | 2.3 |
oltp_update_index | 2.57 | 2.97 | 1.2 |
oltp_update_non_index | 2.57 | 2.91 | 1.1 |
oltp_write_only | 3.75 | 7.43 | 2.0 |
types_delete_insert | 4.91 | 6.43 | 1.3 |
writes_mean_multiplier | 1.4 |
Overall Mean Multiple | 1.9 |
---|