github dolthub/dolt v0.52.4
0.52.4

latest releases: v1.38.2, v1.38.1, v1.38.0...
16 months ago

Merged PRs

dolt

  • 5131: Add merge.GetForeignKeyViolatedTables
    Refactors merge.AddForeignKeyViolations by creating merge.GetForeignKeyViolations and the FKViolationReceiver interface.
    Previously, our mechanic to check if edits to a root value created constraint violations was to write the constraint violations to the artifacts table and check if it was empty for all tables.
    Instead, we can now do a read-only operation to get constraint violations created by edits to a root value.
  • 5130: go/store/{blobstore, nbs}: Fix blobstore conjoin

go-mysql-server

  • 1530: mysql_db: binlog replication configuration table
    binlog replication requires a persistent store for replication configuration so that a server can be restarted and still retain the replication configuration settings a user provided. MySQL uses a table in the mysql database for this, so I've added that table to our implementation of mysql_db.
    I added a test for the new table's schema, but skipped the JSON loading test that other entities implemented, since I think the JSON serialization support is deprecated and everything is serializing through flatbuffers now. Happy to implement that test if it's still need though.
  • 1529: Fix resolve subq issue with empty parent scope
  • 1528: Decorrelate filtered subqueries with single rel
    This decorrelates simple single relation scopes with filter expressions. Unnesting scopes can have dramatic effects on join planning. For the query that motivated this work (a changed integration query plan), latency went from 90 seconds -> 2 seconds.
    This PR uses a SelectSingleRel node to represent the folded scope, which passes through join planning before being converted back into Filter(Table) by normalizeSelectSingleRel after all rules.

Closed Issues

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 2.03 2.97 1.5
groupby_scan 12.98 17.63 1.4
index_join 1.27 5.0 3.9
index_join_scan 1.21 4.41 3.6
index_scan 32.53 58.92 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.84 2.7
select_random_ranges 0.37 1.23 3.3
table_scan 32.53 65.65 2.0
types_table_scan 73.13 200.47 2.7
reads_mean_multiplier 2.7
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 2.86 12.08 4.2
oltp_insert 1.39 3.07 2.2
oltp_read_write 5.37 18.28 3.4
oltp_update_index 1.5 5.67 3.8
oltp_update_non_index 1.5 6.21 4.1
oltp_write_only 2.3 8.74 3.8
types_delete_insert 3.02 13.7 4.5
writes_mean_multiplier 3.4
Overall Mean Multiple 3.0

Don't miss a new dolt release

NewReleases is sending notifications on new releases.