github dolthub/dolt v0.50.12
0.50.12

latest releases: v1.43.11, v1.43.10, v1.43.9...
2 years ago

Merged PRs

dolt

  • 4675: deeper comparison for foregin key indexes
    If we have committed tables before this change, where the tables have a foreign key that references an index that could've been replace with an existing primary key, apply those changes, and we drop and recreate the parent/child tables in exactly the same way, we stage the parent table, but not the child table, which causes our foreign keys to enter a bad state.
    repro for clarity:
    // SWITCH TO DOLT v0.50.8
    rm -rf .dolt
    dolt init
    dolt sql -q "create table payment(payment_id int primary key);"
    dolt sql -q "create table subscription(id int primary key, payment_id int);"
    dolt sql -q "alter table subscription add constraint subscription_pm_fk foreign key (payment_id) references payment(payment_id);"
    dolt add .
    dolt commit -m "commit from the past"
    // SWITCH TO MAIN
    dolt sql -q "drop table subscription";
    dolt sql -q "drop table payment";
    dolt sql -q "create table payment(payment_id int primary key);"
    dolt sql -q "create table subscription(id int primary key, payment_id int);" #A
    dolt sql -q "alter table subscription add constraint subscription_pm_fk foreign key (payment_id) references payment(payment_id);" #B
    dolt add .
    dolt commit -m "commit from the future"
    You can see this by running dolt status after line (A) and then line (B).
    The fix was to have our DeepEquals comparison for foreign key definitions also check if the referencing table index names have changed, and hope that that doesn't break anything else.
  • 4672: liuliu/handle-nil-interface-value
    fixes dolthub/dolthub-issues#352
  • 4667: go/libraries/doltcore/sqle/cluster: interceptors.go: Add some initial support for server interceptor allowing non-cluster clients to access the remotesapi.
  • 4629: Added database collation support
    This allows setting the database collation, such that all newly created tables within a database (that do not explicitly set their collation) will inherit the database collation.
    Builds on

go-mysql-server

  • 1361: Fixed collation check on foreign key columns
  • 1354: Bug fix for pushdownSort handling missing cols qualified with a table name
    The Dolt bump for my GMS change to fix an alias issue in sort node pushdown triggered an error with matching missing column names now that we can include qualified column names.
    This PR adds a repro for that case to GMS and fixes the issue by ensuring we create a UnresolvedQualifiedColumn when the missing column is qualified with a table name. I've run Dolt tests locally and confirmed there shouldn't be any other test failures in the next bump.
  • 1351: Add support for database collations
    This allows setting the database collation, such that all newly created tables within a database (that do not explicitly set their collation) will inherit the database collation.
    Builds on dolthub/vitess#199

vitess

  • 199: Added ALTER DATABASE parsing
    Adds support for parsing ALTER DATABASE queries.
  • 196: allow dual only for select from statements if used without back-ticks

Closed Issues

  • 4674: Add support for DROP TABLE CASCADE
  • 4376: DATE_ADD truncates time
  • 4170: Create database with charset and collation not supported
  • 4662: Very large storage footprint
  • 1897: Addition of Docker image
  • 4430: Feature request: add a progress bar to dolt sql < file.sql that shows the progress of a SQL load

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.96 2.76 1.4
groupby_scan 12.3 17.01 1.4
index_join 1.18 4.65 3.9
index_join_scan 1.14 3.89 3.4
index_scan 30.81 53.85 1.7
oltp_point_select 0.15 0.47 3.1
oltp_read_only 2.97 8.74 2.9
select_random_points 0.3 0.75 2.5
select_random_ranges 0.35 1.12 3.2
table_scan 30.81 63.32 2.1
types_table_scan 69.29 186.54 2.7
reads_mean_multiplier 2.6
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 2.91 10.84 3.7
oltp_insert 1.39 2.76 2.0
oltp_read_write 5.09 17.01 3.3
oltp_update_index 1.44 4.82 3.3
oltp_update_non_index 1.44 5.18 3.6
oltp_write_only 2.22 8.13 3.7
types_delete_insert 3.02 12.98 4.3
writes_mean_multiplier 3.1
Overall Mean Multiple 2.8

Don't miss a new dolt release

NewReleases is sending notifications on new releases.