• Stable

    aronwk released this 2025-02-21 13:07:30 -06:00 | 2924 commits to main since this release

    Merged PRs

    dolt

    • 8872: Add the dolt_backups table
      Read only table which only lists the name and url of backups created by the dolt_backups procedure

    go-mysql-server

    • 2857: [cte] fix issue with invalid cte scope mapping
      fixes: https://github.com/dolthub/dolt/issues/8871
      We were not setting subquery scope mapping, which produced a nil expression when trying to preform a filter inversion.
    • 2856: have explain format=tree,debug,estimates print an explain tree
    • 2855: fix insert for subquery aliases with on duplicate update expr
      The table not found error was actually a bad error message; it really wasn't finding the column due to some weird logic around resolving duplicate indexes.
      The logic assumes that n.Destination.Schema() and n.Source.Schema() must be equal length, and if it's not then we need to replace the Source columns' Source node with the provided OnDupValuesPrefix.
      Additionally, when assigning getfield indexes, we can't assume that if the schema lengths are mismatched that they must be using the OnDupValuesPrefix. Instead, we should always search for a matching column, and then substitute.
      fixes: https://github.com/dolthub/dolt/issues/8862
    • 2853: [expression] coalesce should cast return values
      fixes: https://github.com/dolthub/go-mysql-server/issues/2847

    Closed Issues

    • 8871: panic (cause not yet known)
    • 8835: dolt init fails if dolt config is run without global arguments
    • 8862: derived table syntax not supported (in select with insert into?)
    • 2847: BUG: Element types don't match MySQL: query-results have inconsistent types

    Performance

    Read Tests MySQL Dolt Multiple
    covering_index_scan 1.89 0.63 0.33
    groupby_scan 13.22 18.28 1.38
    index_join 1.47 2.57 1.75
    index_join_scan 1.42 1.44 1.01
    index_scan 34.33 30.26 0.88
    oltp_point_select 0.18 0.27 1.5
    oltp_read_only 3.49 5.28 1.51
    select_random_points 0.34 0.6 1.76
    select_random_ranges 0.37 0.61 1.65
    table_scan 34.33 31.94 0.93
    types_table_scan 75.82 114.72 1.51
    reads_mean_multiplier 1.29
    Write Tests MySQL Dolt Multiple
    oltp_delete_insert 8.9 6.32 0.71
    oltp_insert 4.1 3.13 0.76
    oltp_read_write 8.9 11.65 1.31
    oltp_update_index 4.18 3.19 0.76
    oltp_update_non_index 4.18 3.13 0.75
    oltp_write_only 5.67 6.32 1.11
    types_delete_insert 8.43 6.67 0.79
    writes_mean_multiplier 0.88
    TPC-C TPS Tests MySQL Dolt Multiple
    tpcc-scale-factor-1 96.48 40.2 2.4
    tpcc_tps_multiplier 2.4
    Overall Mean Multiple 1.52
    Downloads