github dolthub/dolt v1.4.2
1.4.2

latest releases: v1.40.2, v1.40.1, v1.40.0...
12 months ago

Merged PRs

dolt

  • 6164: Bug fix: Enable dolt_cherry_pick stored procedure to work with @@autocommit
    Previously, when dolt_cherry_pick encountered a data or schema conflict, or a constraint violation, it would return an error with a message about the problem and how to resolve. This works well when @@autocommit=0, but when @@autocommit=1 the error causes the automatic transaction management to automatically rollback the changes, which prevents users from being able to examine and fix the conflicts.
    This PR changes dolt_cherry_pick to be more similar to how dolt_merge reports conflicts – instead of returning an error message, dolt_cherry_pick now returns additional fields that show the number of tables with data conflicts, number of tables with schema conflicts, and number of tables with constraint violations.

go-mysql-server

  • 1823: Trim spaces and empty statements to the right in planbuilder.Parse
  • 1807: add support for more JSON_TABLE() functionality
    This PR adds support for:
    • FOR ORDINALITY columns, which is just an auto increment
    • DEFAULT <value> ON ERROR/EMPTY , which fills in values when encountering either an error or a missing value
    • when this isn't specified, NULL is used
    • ERROR <value> on ERROR/EMPTY, which throws an error when encountering either an error or a missing value
    • when this isn't specified, we ignore errors and fill in values with NULL
    • NESTED columns, which is a way to extract data from objects within objects and so on
    • when there are multiple NESTED columns, they are "sibling" nested, they take turns being NULL
      Note: there is a skipped test highlighting a bug in either our jsonpath implementation or it's something here...
      Companion PR: dolthub/vitess#240
      MySQL docs: https://dev.mysql.com/doc/refman/8.0/en/json-table-functions.html

vitess

  • 245: allow event as table and column name
    The PR allows EVENT non-reserved keyword to be used as table and column name without quoting.
    The missing edge case includes using EVENT for user name or host name.
  • 240: Support more JSON_TABLE functionality
    Source: https://dev.mysql.com/doc/refman/8.0/en/json-table-functions.html
    JSON_TABLE(
    expr,
    path COLUMNS (column_list)
    )   [AS] alias
    column_list:
    column[, column][, ...]
    column:
    name FOR ORDINALITY
    |  name type PATH string path [on_empty] [on_error]
    |  name type EXISTS PATH string path
    |  NESTED [PATH] path COLUMNS (column_list)
    on_empty:
    {NULL | DEFAULT json_string | ERROR} ON EMPTY
    on_error:
    {NULL | DEFAULT json_string | ERROR} ON ERROR
    
    Note: the MySQL docs indicate that PATH is optional in the NESTED case, but it doesn't seem that way.
    I chose to follow what they say rather than what they do.

Closed Issues

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.93 2.61 1.4
groupby_scan 12.3 16.71 1.4
index_join 1.18 4.33 3.7
index_join_scan 1.14 2.11 1.9
index_scan 30.81 53.85 1.7
oltp_point_select 0.14 0.46 3.3
oltp_read_only 2.86 7.98 2.8
select_random_points 0.3 0.75 2.5
select_random_ranges 0.35 1.06 3.0
table_scan 30.81 54.83 1.8
types_table_scan 69.29 155.8 2.2
reads_mean_multiplier 2.3
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 5.57 6.21 1.1
oltp_insert 2.76 2.91 1.1
oltp_read_write 6.43 15.27 2.4
oltp_update_index 2.61 3.25 1.2
oltp_update_non_index 2.76 3.13 1.1
oltp_write_only 3.68 7.56 2.1
types_delete_insert 5.18 7.04 1.4
writes_mean_multiplier 1.4
Overall Mean Multiple 2.0

Don't miss a new dolt release

NewReleases is sending notifications on new releases.