Merged PRs
dolt
- 5559: Fix dolt log HEAD detection
Fix for 5558 - 5553: Fix incorrect recorded dolt commit times for MySQL replication
A few small code clean ups, and a bug fix for not setting unique times in dolt commits.
Fixes: #5563 - 5552: Sec index differ for parent fk constraint checking
- 5546: go/doltcore/diff: refactor diff splitter to handle columns unmatched across revisions
- 5542: Use auth host for
RPCCreds
audience, use dolthub.com for issuer - 5539: go/doltcore/table/untyped/tabular: fix index out of bounds in diff pr…
…inter - 5533: go/doltcore/sqle/index: use Map.Get() for point lookups
go-mysql-server
- 1652: lookup uservars when parsing prepareds
fix for: #5530
companion: dolthub/vitess#226 - 1651: types: fix JSON NULL comparisons
- 1648: recursively hoist out of scope filters from subqueries
Subqueries have all filters with GET_FIELD attributes referencing outer scopes tables hoisted into the parent scope. Adds tests for recursively applying this rule. Small regression for unnesting correlated scopes with no filters, but those should be much easier to unnest now that they are decorrelated.
Example:select * from xy where exists (select * from uv where x = 1) -- => select * from xy where x = 1 and exists (select * from uv)
- 1647: prevent spatial index for fk
MySQL won't pick SPATIAL indexes as the underlying index for foreign keys; it throws a "Missing index constraint for ..." error. I couldn't find any docs specifically saying this.
Based off howSPATIAL
indexes work for our stuff, it seems like it would work just fine for us.
However since MySQL doesn't support it, we won't either. - 1645: SHOW PROCESSLIST improvements.
Show the correct database and client address of the connection.
Include idle and connecting connections in the list, instead of just connections which are currently running queries.
AllowKILL [ID]
to kill connections which are currently connecting. - 1642: add tests for
on duplicate key update
for keyless tables
small change to in memory table edit accumulators to only remove rows once fromadds
anddeletes
forInsert()
andDelete()
companion pr: #5514
vitess
- 226: supporting syntax for user variables in PREPARE statements
fix for: #5530 - 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
Closed Issues
- 5563: Dolt replication produces the same timestamp on every commit
- 5433: Keyless Tables with a Unique Key do not enforce uniqueness and create extra values on insert
- 3204: Support Spatial Indexes like an index on a column with
GEOMETRY
type - 1632: Alter table drop constraint name complains the contraint does not exist
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.93 | 2.76 | 1.4 |
groupby_scan | 12.52 | 16.41 | 1.3 |
index_join | 1.18 | 4.03 | 3.4 |
index_join_scan | 1.16 | 2.03 | 1.7 |
index_scan | 30.26 | 51.94 | 1.7 |
oltp_point_select | 0.15 | 0.48 | 3.2 |
oltp_read_only | 3.02 | 8.43 | 2.8 |
select_random_points | 0.3 | 0.73 | 2.4 |
select_random_ranges | 0.35 | 1.12 | 3.2 |
table_scan | 30.81 | 52.89 | 1.7 |
types_table_scan | 69.29 | 158.63 | 2.3 |
reads_mean_multiplier | 2.3 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 4.57 | 5.57 | 1.2 |
oltp_insert | 2.26 | 2.66 | 1.2 |
oltp_read_write | 6.32 | 15.27 | 2.4 |
oltp_update_index | 2.35 | 2.76 | 1.2 |
oltp_update_non_index | 2.48 | 2.71 | 1.1 |
oltp_write_only | 3.43 | 7.3 | 2.1 |
types_delete_insert | 4.57 | 6.21 | 1.4 |
writes_mean_multiplier | 1.5 |
Overall Mean Multiple | 1.9 |
---|