github dolthub/dolt v1.57.3
1.57.3

latest releases: v1.59.3, v1.59.2, v1.59.1...
one month ago

Merged PRs

dolt

  • 9587: Bug fix: Update secondary index correctly during a merge with a schema change
    During a merge, Dolt applies diffs to existing indexes to sync their data with the changes being merged in. If the table schema has changed between the merge base and the left/right branches of the merge, Dolt was using the incorrect value tuple to remove the row from the index. This resulted in a customer issue where the secondary index still contained rows and the foreign key validation logic was incorrectly detecting FK violations, even though the child table was empty.
    As a follow-up to this, we need to investigate other similar cases in the secondary index merger and see if other diff types have a similar issue.
  • 9585: Run gofmt and goimports on generated protobuf files to ensure clean diffs
    This change adds gofmt and goimports steps to the protobuf generation process to ensure that generated .pb.go files are consistently formatted.
  • 9577: Remove broken symlink
  • 9574: Fix dolt_preview_merge_conflicts for doltgres
  • 9551: #9530 - Fix auto-increment display for SHOW CREATE TABLE
    Fixes #9530
    Companion PR: dolthub/go-mysql-server#3103
    Fixed auto-increment display discrepancy in SHOW CREATE TABLE by adding type checking to prevent incrementing beyond integer type maximums.

go-mysql-server

  • 3123: Support decimal unique keys
    fixes #3071
  • 3122: Allow SYSTEM as valid time zone
  • 3119: Add test for setting time zone from table value
  • 3118: Validate time zone before setting it
    fixes #9559
  • 3116: fix panic in stats histogram union and intersect
    I'm not 100% how to repro this, but there is definitely something up with the Union and Intersect logic in stats histograms.
    Based on the stack trace, there's a panic when attempting to Union histogram buckets.
    It seems like the logic assumes that the histogram keys are always shorter than the number of buckets.
    This PR fixes the Union and Intersect logic to compare the keys without the assumption, and adds some unit tests.
    fixes: #9143
  • 3114: #9511 - Fix SET type casting to CHAR and BINARY
    Fixes #9511
    • Added convertSetToStringForStringContext() helper function following existing patterns
    • Modified convertValue() to handle SET types in both CHAR and BINARY conversion cases
  • 3109: #9544 - Fix time type foreign key constraints
    Fixes #9544
    Allows foreign key constraints to be created between time-related types (DATETIME, TIMESTAMP, TIME) with different precisions or cross-type references, matching MySQL behavior.

Closed Issues

  • 9590: More granular control over restrictions
  • 9544: time types and foreign keys
  • 9530: auto_increment with max integers does not error properly
  • 9469: Support SET in string context
  • 9511: SET type does not cast correctly to char or binary
  • 9143: index out of range panic on CTE
  • 9559: set time_zone should validate timezone
  • 3071: In-memory tables don't support DECIMAL(...) UNIQUE KEY

Performance

Read Tests MySQL Dolt Multiple
covering_index_scan 1.86 0.68 0.37
groupby_scan 13.46 19.65 1.46
index_join 1.47 2.48 1.69
index_join_scan 1.44 1.47 1.02
index_scan 34.33 30.81 0.9
oltp_point_select 0.2 0.29 1.45
oltp_read_only 3.75 5.37 1.43
select_random_points 0.35 0.61 1.74
select_random_ranges 0.38 0.64 1.68
table_scan 34.33 33.12 0.96
types_table_scan 75.82 127.81 1.69
reads_mean_multiplier 1.31
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 8.9 11.87 1.33
oltp_update_index 4.18 3.3 0.79
oltp_update_non_index 4.18 3.25 0.78
oltp_write_only 5.28 6.55 1.24
types_delete_insert 8.43 6.91 0.82
writes_mean_multiplier 0.93
TPC-C TPS Tests MySQL Dolt Multiple
tpcc-scale-factor-1 95.5 38.82 2.46
tpcc_tps_multiplier 2.46
Overall Mean Multiple 1.57

Don't miss a new dolt release

NewReleases is sending notifications on new releases.