github dolthub/dolt v1.35.6
1.35.6

latest releases: v1.43.14, v1.43.13, v1.43.12...
7 months ago

Merged PRs

dolt

  • 7659: Don't panic for conflicts in the dolt pull command
    This was reported by a user: #7653
    This was covered by a test, but it turns out that the pull, fetch, and push tests were all using SQL_ENGINE=remote-server incorrectly.
  • 7558: Statistics for multiple branches
    Fork interface for how to store database statistics. Can either store in the original source database, in a separate database in .dolt/stats, or an alternative implementation like a lsm that will have easier append only semantics. The implementation for the noms chunkstore isn't particularly efficient, we will not deduplicate common chunks between branches.
    How the new code is organized: statspro has generic interfaces for how a Dolts-specific stats implementation works. statsnoms is an implementation that uses a second database at .dolt/stats to store statistic refs. The stats refs are the same, just now they are named by the branch they reference (ex: refs/statistics/main). So storage is the concern of the concrete implementation. The common interface forces the implementation to handle branches. The branch switching in statsnoms are just named refs.
    A high level of what's happening during certain operations: There are still two operations, load and update. Load now either initializes the stats database at .dolt/stats or loads existing stats. Update is the same, ANALYZE or auto refresh.
    Most of the changes are just forcing the logic through a generic interface. There were import cycle issues (dtables) and deadlock issues for creating a database (dolt provider takes a lock that prevents doing certain operation on the session in the stats provider) that motivated packaging decisions.

go-mysql-server

  • 2412: New interface for binlog primary callbacks
    First pass on connecting the GMS layer with the Dolt layer for handling callbacks when the SQL server is acting in binlog primary mode, through the new BinlogPrimaryController interface. This new interface pretty closely mirrors the existing callback interface for replica callbacks, the BinlogReplicaController interface.
    Related to #7512

Closed Issues

Performance

Read Tests MySQL Dolt Multiple
covering_index_scan 2.07 3.07 1.5
groupby_scan 13.46 17.32 1.3
index_join 1.37 5.18 3.8
index_join_scan 1.27 2.26 1.8
index_scan 34.33 63.32 1.8
oltp_point_select 0.17 0.49 2.9
oltp_read_only 3.36 8.28 2.5
select_random_points 0.33 0.78 2.4
select_random_ranges 0.39 0.95 2.4
table_scan 34.33 63.32 1.8
types_table_scan 74.46 176.73 2.4
reads_mean_multiplier 2.2
Write Tests MySQL Dolt Multiple
oltp_delete_insert 7.98 7.04 0.9
oltp_insert 3.75 3.49 0.9
oltp_read_write 8.43 16.12 1.9
oltp_update_index 3.82 3.62 0.9
oltp_update_non_index 3.82 3.55 0.9
oltp_write_only 5.37 8.13 1.5
types_delete_insert 7.7 7.84 1.0
writes_mean_multiplier 1.1
TPC-C TPS Tests MySQL Dolt Multiple
tpcc-scale-factor-1 101.15 16.93 5.7
tpcc_tps_multiplier 5.7
Overall Mean Multiple 3.00

Don't miss a new dolt release

NewReleases is sending notifications on new releases.