Merged PRs
dolt
- 4886: dolt_conflicts_$tbl_name: updates to the our version persist
Any columns prefixed withour_
can now be updated on thedolt_conflicts_$tbl_name
tables. Updates on the our columns get translated to updates on the conflict source table.
First pass on implementing the suggestion in #4854. Handles keyless and keyed tables. Does not add the auto-incrementing id to the conflict table. Will get this out to the customer first and then come back. - 4882: add send email action to failed ORM integration tests
When nightly ORM integration test fails, it sends email to me and Tim. - 4878: go/store/nbs: chunkJournal, journalWriter, and journalChunkSource
AddschunkJournal
, a log-basedChunkStore
that integrates into currentNomsBlockStore
machinery.chunkJournal
implementstablePersister
andmanifest
. Whenmemtable
s are passed toPersist()
, their contents appended to the journal file at current offset and ajournalChunkSource
(implementing chunkSource) is returned. journalChunkSource is an in-memory object containing offset metadata for reading back chunks from the journal file. The chunkJournal also persists root hash updates to the log via the manifest interface. This PR is adapted from #4803, instead of returning a uniquejournalChunkSource
on eachPersist()
call, a single chunk source is returned repeatedly. ThetableSet
naturally deduplicates thesechunkSource
references by storing them in achunkSourceSet
(#4860).
This implementation is currently behind a feature flag. Lots of work remains to fully support current NBS functionality.- Push/Pull/Clone paths are largely unsupported.
- chunkJournal is limited to a fixed size, doesn't have support for finalizing the current journal as a table file
- Current chunk record format is temporary and needs support for format extension
go-mysql-server
- 1433: Fix nested subquery join index in subquery expression w/ outer scope visibility
The plan representation and exec scope passing diverged for subqueries. We were indexing assuming no scope passing, but at runtime still prepending scope rows, which indirectly snuck around not explicitly passing scope through the subquery alias. - 1430: fix declaration so the compiler checks it properly
- 1425: tests for non-unique indexes over keyless tables
Non-unique indexes work as expected for in-memory tables, but there were no tests.
companion pr: #4873
tests for: #4861
vitess
- 203: Added OPEN, CLOSE, FETCH
These are needed forCURSOR
support. - 202: support explaining tables, and adding extended keyword
Even though it is deprecated, we can supportEXPLAIN EXTENDED
, since it does the same thing as normalEXPLAIN
https://dev.mysql.com/doc/refman/5.7/en/explain.html#:~:text=In%20older%20MySQL%20releases%2C%20extended%20information%20was%20produced%20using%20EXPLAIN%20EXTENDED.
Additionally,EXPLAIN
,DESCRIBE
, andDESC
are all interchangable, so we should be able toEXPLAIN tbl
Fix for: #4185
Closed Issues
- 4864: Incorrect capitalization of sql-server param in docs
- 4865: Error while restoring mysql dump into dolt
- 4862: dolt migrate drops secondary indexes, checks, and collations when there's a string column
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 2.03 | 2.91 | 1.4 |
groupby_scan | 12.75 | 17.95 | 1.4 |
index_join | 1.25 | 5.0 | 4.0 |
index_join_scan | 1.21 | 4.25 | 3.5 |
index_scan | 31.94 | 56.84 | 1.8 |
oltp_point_select | 0.16 | 0.53 | 3.3 |
oltp_read_only | 3.13 | 9.56 | 3.1 |
select_random_points | 0.32 | 0.83 | 2.6 |
select_random_ranges | 0.38 | 1.21 | 3.2 |
table_scan | 32.53 | 65.65 | 2.0 |
types_table_scan | 73.13 | 200.47 | 2.7 |
reads_mean_multiplier | 2.6 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 2.81 | 12.08 | 4.3 |
oltp_insert | 1.55 | 3.13 | 2.0 |
oltp_read_write | 5.47 | 18.61 | 3.4 |
oltp_update_index | 1.52 | 5.88 | 3.9 |
oltp_update_non_index | 1.47 | 6.32 | 4.3 |
oltp_write_only | 2.35 | 8.9 | 3.8 |
types_delete_insert | 2.91 | 13.7 | 4.7 |
writes_mean_multiplier | 3.4 |
Overall Mean Multiple | 3.0 |
---|