github dolthub/dolt v1.1.2
1.1.2

latest releases: v1.35.12, v1.35.11, v1.35.10...
11 months ago

Merged PRs

dolt

  • 6000: Evaluate check constraints during merge
    Adds support for evaluating check constraint expressions on a table during a merge.
    Fixes #3462
  • 5998: Add docstring to ConnectionQueryist.

go-mysql-server

  • 1790: Reverting @@system_time_zone support for returning system timezone
    I'm not sure yet why this change causes Dolt's MySQL Connector J integ test to fail, but after testing commits yesterday and testing this fix this morning, this is definitely causing some problem. In CI, but not locally, the MySQL Connector J integ test is failing with a generic/empty SQLException each time, immediately after executing the first query. Dolt logs look fine, but there's obviously something happening that the MySQL Connector J can't deal with. I have a few more repro ideas that I'll follow up with, but wanted to get the GMS -> Dolt pipeline cleared up first.
    Until then, this PR reverts @@system_time_zone from returning the actual timezone in use by the runtime and OS.
    This change was able to get the Dolt MySQL Connector integ suite passing again: https://github.com/dolthub/dolt/actions/runs/5059419161/jobs/9081665231
  • 1789: foreign key index match should be on prefix not subset
    Turns out the logic for using an existing secondary index for foreign keys was matching on a subset instead of a prefix.
    For example:
    fks> create table parent (fk1 int, fk2 int, primary key (fk1, fk2));
    fks> create table child (id int unique, fk1 int, fk2, primary key (fk2, fk1, id), foreign key (fk1, fk2) references parent (fk1, fk2));
    
    This should produce a child table that creates a new secondary index over the columns (fk1, fk2).
    But, we don't do that and instead reference some other index (not sure what), causing errors when calling dolt constraints verify --all
    This PR ensures that we only pick an existing secondary index as the underlying index for a foreign key if that index is a prefix for the foreign key.
  • 1785: Copy MySQL information_schema.st_spatial_reference_systems table
    This PR essentially copies the information_schema.st_spatial_reference_systems table from MySQL.
    Small refactor to move constants and help function to types package from functions/spatial package.
    Additionally, changes show create table statement to print SRIDs inside a MySQL special comment.
    Example:
    tmp> show create table t2;
    +-------+------------------------------------------------------------------+
    | Table | Create Table                                                     |
    +-------+------------------------------------------------------------------+
    | t2    | CREATE TABLE `t2` (                                              |
    |       |   `p` point /*!80003 SRID 2000 */,                               |
    |       |   `l` linestring /*!80003 SRID 2001 */                           |
    |       | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin |
    +-------+------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    Partially Addresses this: #5973
  • 1781: Small aggregation perf improvements
    • We used to make a new error object for every cache.Get() miss. Use shared object instead.
    • Add reuse pool for collation weight buffers rather than making thousands of [4]byte.
      before:
    image after: image

vitess

  • 238: Fix for charset introducers in default values
    Fixes #5970 by adding an additional default expression rule that handles charset introducers.
  • 237: Small fix for DEFAULT CHARSET when creating tables
    Super small fix for #5749. We were referencing the wrong variable.
  • 233: support parsing ALTER EVENT statements
    Supports parsing ALTER EVENT statements

Closed Issues

  • 3462: dolt merge silently violates check constraints
  • 1771: utf8mb3_tolower_ci not implemented

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.93 2.76 1.4
groupby_scan 12.3 16.71 1.4
index_join 1.16 4.1 3.5
index_join_scan 1.12 2.11 1.9
index_scan 30.81 55.82 1.8
oltp_point_select 0.14 0.49 3.5
oltp_read_only 2.81 8.28 2.9
select_random_points 0.29 0.77 2.7
select_random_ranges 0.34 1.16 3.4
table_scan 30.81 55.82 1.8
types_table_scan 69.29 176.73 2.6
reads_mean_multiplier 2.4
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 4.18 5.47 1.3
oltp_insert 2.11 2.71 1.3
oltp_read_write 5.99 15.0 2.5
oltp_update_index 2.14 2.81 1.3
oltp_update_non_index 2.22 2.76 1.2
oltp_write_only 3.13 7.17 2.3
types_delete_insert 4.33 6.32 1.5
writes_mean_multiplier 1.6
Overall Mean Multiple 2.1

Don't miss a new dolt release

NewReleases is sending notifications on new releases.