Merged PRs
dolt
- 4986: Fix 'new manifest created with non 0 lock' error
Fixes #4975
Fix dropping and creating the same database on dolt sql-server. We were caching doltdb's using a singleton and at the manifest cache level which lead to problems. - 4974: Systab edits
- 4971: Reset source branch after checkout
When checking out a branch, clear the source branch's working set only after the destination checkout succeeds without errors.
go-mysql-server
- 1475: Fixed stored procedure panics
This fixes two panics that were discovered for stored procedures. The first comes from this issue: #4980. The second deals with an issue with external stored procedures, where the usage of an uninitialized user variable would throw a panic over the nil value. - 1474: fix hexadecimal literal value conversion
MySQL docs:
In numeric contexts, MySQL treats a hexadecimal literal like a BIGINT UNSIGNED (64-bit unsigned integer).
- 1469: bringing back assert prepared
For some reason, I deletedAssertErrPrepared
, which allowed many tests to incorrectly pass.
This PR adds that back and fixes the failing tests.
There were a couple validation rules that were never run, which seems wrong (validateUnionSchemasMatch
is still never run for prepared queries).
I also added a helperTestSingleScriptPrepared
to more easily debug prepared script tests
There are prepared tests in dolt that also fail because of these changes, so I also had to fix them
Companion PR: #4968 - 1468: Update README.md
added team link and dolt docs link - 1466: fixes bug where TIMEDIFF wasn't returning null when given null
- added unit tests for null arguments for TIMEDIFF
- added unit tests for null arguments for DATEDIFF
- updated TIMESTAMPDIFF to throw an error when given a
null
unit - added unit tests for null arguments for TIMESTAMPDIFF
- 1461: Implemented LOOP, LEAVE, and ITERATE, partially implemented DECLARE ... HANDLER
This needs many, many, many more tests. Also should rewrite how stored procedures are analyzed as well, but that's a larger project overall. - 1460: add STRCMP functionality
fixes: #4478
vitess
- 208: Allow charsets/collations in single or double quotes for
create database
/alter database
Fixes: #4977 - 206: Update README.md
added blurb about Dolt's use of vitess and links - 205: Added LOOP, LEAVE, and ITERATE
Finding a workaround to allow:
to parse resulted in the changes you see intoken.go
. There may be a better way to go about it, but I don't want to spend more time on it since this appears to work.
Closed Issues
- 4977: Can't create database with navicat: Dolt does not accept single quotes on charset identifier
- 4980: Panic in stored procedure
- 4992: incorrect result from order by clause for case sensitive string values
- 4975: Intermittently receive the message
error reading from or writing to noms: new manifest created with non 0 lock
when running dolt in docker. - 4981: insert on decimal type column fails with prepared stmt - decimal conversion issue
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 2.03 | 2.97 | 1.5 |
groupby_scan | 13.22 | 17.95 | 1.4 |
index_join | 1.27 | 4.91 | 3.9 |
index_join_scan | 1.21 | 4.18 | 3.5 |
index_scan | 33.12 | 59.99 | 1.8 |
oltp_point_select | 0.16 | 0.53 | 3.3 |
oltp_read_only | 3.13 | 9.39 | 3.0 |
select_random_points | 0.31 | 0.83 | 2.7 |
select_random_ranges | 0.37 | 1.23 | 3.3 |
table_scan | 33.12 | 66.84 | 2.0 |
types_table_scan | 75.82 | 200.47 | 2.6 |
reads_mean_multiplier | 2.6 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 3.19 | 10.84 | 3.4 |
oltp_insert | 1.52 | 3.07 | 2.0 |
oltp_read_write | 5.37 | 17.95 | 3.3 |
oltp_update_index | 1.52 | 4.91 | 3.2 |
oltp_update_non_index | 1.52 | 5.18 | 3.4 |
oltp_write_only | 2.35 | 8.74 | 3.7 |
types_delete_insert | 3.25 | 10.84 | 3.3 |
writes_mean_multiplier | 2.9 |
Overall Mean Multiple | 2.8 |
---|