Merged PRs
dolt
- 9879: Fix dolt conflicts resolve for resolving one table at a time
Fixes #9878 - 9867: Bats test for branch create being replicated
- 9855: Preemptively store extended adaptive values out-of-band if they're too large to fit in a Tuple
Extended Adaptive values are values whose semantic meaning and serialization are defined by another module, and can be stored both inline in a tuple and out-of-band. It's currently used for text types in Doltgres.
Previously, when writing tuples, these values would get initially written inline, and then moved to out-of-band if the total tuple length exceeded some threshold. However, this caused issues if the value was longer than the max tuple length, resulting in truncation. These values must always be written out of band, so we now do it pre-emptively.
go-mysql-server
- 3235: Allow caching subqueries in a tree of joins.
This is a follow-up to dolthub/go-mysql-server#3205, catching a previously missed case.
In a tree like so:
We want to be able to cache the subquery result. But we weren't because we saw that the subquery was the leftmost child of a join (Join B) and it doesn't make sense to cache the leftmost child of a join.Join A ├─ Table └─ Join B ├─ SubQuery └─ Table
But really we should consider the subquery to be a child of Join A, where it isn't the leftmost child. That is to say, encountering a join node while we're already walking a join tree shouldn't cause thecacheSubqueryAliasesInJoins
to treat it as a new join.
This allows for more subquery caching in places that would benefit from it. - 3234: #9873: Add tests for
FOR UPDATE OF
Fixes #9873 - 3232: Add
TEXT(m)
support
Fixes #9872
Companion dolthub/vitess#435 - 3231: Push filters down into join condition
fixes #9868
doltgres test updated in dolthub/doltgresql#1887 - 3227: #9857: Add UUID_SHORT() support
Fixes #9857
Companion dolthub/docs#2676 - 3226: fix Expressions() of TableFunctionWrapper to make the function expression visible
vitess
- 436: #9873: Add support
FOR UPDATE OF
Fixes #9873
Companion dolthub/go-mysql-server#3234 - 435: Add TEXT(m) support
Fixes #9872
Closed Issues
- 9873:
Airflow standalone
syntax errorfor update of
- 9872: Support for mysql
Text(m)
- 7302: Scientific notation in strings should not be honored when converting to an integer type
- 9868: Filter gets dropped after join optimization
- 7207: division operation should not truncate the result if it's in another function.
- 9878: Getting autocommit error using
dolt conflicts resolve
for one of many tables on the CLI - 9857: Missing function uuid_short()
Performance
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.82 | 0.65 | 0.36 |
groupby_scan | 14.21 | 18.95 | 1.33 |
index_join | 1.52 | 2.43 | 1.6 |
index_join_scan | 1.47 | 1.39 | 0.95 |
index_scan | 34.33 | 30.26 | 0.88 |
oltp_point_select | 0.21 | 0.28 | 1.33 |
oltp_read_only | 3.82 | 5.28 | 1.38 |
select_random_points | 0.36 | 0.58 | 1.61 |
select_random_ranges | 0.39 | 0.61 | 1.56 |
table_scan | 34.33 | 31.94 | 0.93 |
types_table_scan | 75.82 | 130.13 | 1.72 |
reads_mean_multiplier | 1.24 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
oltp_delete_insert | 8.43 | 6.55 | 0.78 |
oltp_insert | 4.18 | 3.25 | 0.78 |
oltp_read_write | 9.22 | 11.65 | 1.26 |
oltp_update_index | 4.25 | 3.3 | 0.78 |
oltp_update_non_index | 4.18 | 3.19 | 0.76 |
oltp_write_only | 5.28 | 6.43 | 1.22 |
types_delete_insert | 8.58 | 6.91 | 0.81 |
writes_mean_multiplier | 0.91 |
TPC-C TPS Tests | MySQL | Dolt | Multiple |
---|---|---|---|
tpcc-scale-factor-1 | 93.38 | 39.38 | 2.37 |
tpcc_tps_multiplier | 2.37 |
Overall Mean Multiple | 1.51 |
---|