Skip to content

1.42.10

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Aug 00:35

Merged PRs

dolt

go-mysql-server

  • 2625: Bug fix: the timestamp function should convert to a datetime type
    MySQL's timestamp function, despite its name, actually returns a datetime type and not a timestamp type.
    MySQL example:
    mysql -uroot --protocol TCP -e "select timestamp('1000-01-01 00:00:00');" --column-type-info
    Field   1:  `timestamp('1000-01-01 00:00:00')`
    Catalog:    `def`
    Database:   ``
    Table:      ``
    Org_table:  ``
    Type:       DATETIME
    Collation:  binary (63)
    Length:     19
    Max_length: 19
    Decimals:   0
    Flags:      BINARY
    +----------------------------------+
    | timestamp('1000-01-01 00:00:00') |
    +----------------------------------+
    | 1000-01-01 00:00:00              |
    +----------------------------------+
    Note: We still need to add support for the second, optional parameter to timestamp().
    Customer issue: #8236
  • 2624: Use ctx.Done() as a faster check for ctx.Err()
    The err call is noticeable for queries that read a lot of rows.
  • 2623: Fix anti-join correctess bug
    We had some strange logic for accepting a join anti-match, ripped it out and everything seems to be working correctly now.
  • 2621: implement icu_version function
    MySQL Docs: https://dev.mysql.com/doc/refman/8.4/en/information-functions.html#function_icu-version
  • 2619: Assume text index comparisons are exact
    We currently do not eliminate filters of the form column(VARCHAR) = text literal (longtext) when pushing filters into index lookups. The safety check is necessary at least for datetimes, spatial/fulltext and partial TEXT indexes. It's not clear whether it is necessary for full varchar indexes.
    dolt side seems OK: #8218

Closed Issues

Performance

Read Tests MySQL Dolt Multiple
covering_index_scan 2.07 2.86 1.4
groupby_scan 13.22 17.01 1.3
index_join 1.34 2.66 2.0
index_join_scan 1.27 2.11 1.7
index_scan 34.33 53.85 1.6
oltp_point_select 0.18 0.3 1.7
oltp_read_only 3.49 5.88 1.7
select_random_points 0.34 0.65 1.9
select_random_ranges 0.39 0.83 2.1
table_scan 34.33 54.83 1.6
types_table_scan 74.46 142.39 1.9
reads_mean_multiplier 1.7
Write Tests MySQL Dolt Multiple
oltp_delete_insert 8.13 5.99 0.7
oltp_insert 3.82 2.97 0.8
oltp_read_write 8.58 12.08 1.4
oltp_update_index 3.89 3.02 0.8
oltp_update_non_index 3.89 2.97 0.8
oltp_write_only 5.37 6.09 1.1
types_delete_insert 7.7 6.43 0.8
writes_mean_multiplier 0.9
TPC-C TPS Tests MySQL Dolt Multiple
tpcc-scale-factor-1 98.97 39.23 2.5
tpcc_tps_multiplier 2.5
Overall Mean Multiple 1.70