github dolthub/dolt v1.80.0
1.80.0

latest release: v1.80.1
one day ago

This release contains a backwards incompatible change to the Dolt command line interface. Dolt is now far more strict about which CLI subcommands require the presence of a Dolt repository. Many CLI commands that would work when being run outside of a Dolt repository directory, especially when a Dolt SQL server was running, will now error.

Merged PRs

dolt

  • 10289: Consistently implement which commands require a repo
    Add a test file to ensure behavior
  • 10281: drop schema support
  • 10262: fsck to walk references and report missing/corrupted objects
    Currently dolt fsck just validates all chunks have a valid address. This change extends the validation to three phases.
    1. Validate chunks have valid addresses
    2. Collect the commits we can reach from branches/tags
    3. Walk the content trees of reachable commits. Walking is performed with the serialmsg.WalkAddrs() itereator.

go-mysql-server

  • 3371: Error out for NATURAL FULL JOIN
    Fixes #10268
    Part of #10295
    Relies on dolthub/vitess#447 and adds test
  • 3368: Do not parse trigger bodies in LoadOnly context
    fixes #10287
    fixes #10288
    This PR adds a LoadOnly flag to a trigger context so that the body of a CreateTrigger statement is not unnecessarily parsed. This avoids parsing the trigger body every time an insert, update, or delete is called and only parses it when the trigger is actually relevant to the event. This also avoids parsing the trigger body when show trigger is called.
    This PR also rearranges some things in buildCreateTrigger to be more performant.
  • 3367: drop schema support
  • 3366: Fix query ok for drop view
    fixes #10201
  • 3365: Handle more types in abs
    fixes #10171
    fixes #10270
    Add case for bool types and add default case that tries to convert value to Float64.

vitess

  • 447: Parse NATURAL FULL JOIN
    Part of #10268
    Part of #10295
    Any join with the NATURAL prefix that was not a LEFT or LEFT OUTER JOINwas getting parsed as aNATURAL RIGHT JOIN. This PR allows for NATURAL FULL JOINto be parsed correctly and also prevents invalid joins using theNATURAL` prefix from getting parsed.
  • 445: /go/vt/sqlparser: support float8

Closed Issues

  • 10268: NATURAL FULL JOIN incorrectly parsed as NATURAL RIGHT JOIN
  • 10230: The current directory is not a valid dolt repository. inconsistently reported inside a dolt repository
  • 10288: Every single trigger definition is parsed for every single insert, update, or delete
  • 10287: When a trigger references a column that no longer exists, errors should only be thrown when the trigger is actually triggered
  • 10283: Non-local tables appear twice in show tables, dolt workbench.

Performance

Read Tests MySQL Dolt Multiple
covering_index_scan 1.82 0.58 0.32
groupby_scan 13.7 9.91 0.72
index_join 1.5 1.89 1.26
index_join_scan 1.47 1.34 0.91
index_scan 34.33 22.28 0.65
oltp_point_select 0.2 0.27 1.35
oltp_read_only 3.82 5.18 1.36
select_random_points 0.35 0.54 1.54
select_random_ranges 0.39 0.55 1.41
table_scan 34.33 22.28 0.65
types_table_scan 74.46 66.84 0.9
reads_mean_multiplier 1.01
Write Tests MySQL Dolt Multiple
oltp_delete_insert 8.43 6.43 0.76
oltp_insert 4.18 3.19 0.76
oltp_read_write 9.22 11.45 1.24
oltp_update_index 4.25 3.25 0.76
oltp_update_non_index 4.25 3.19 0.75
oltp_write_only 5.28 6.21 1.18
types_delete_insert 8.58 6.91 0.81
writes_mean_multiplier 0.89
TPC-C TPS Tests MySQL Dolt Multiple
tpcc-scale-factor-1 93.84 36.73 2.55
tpcc_tps_multiplier 2.55
Overall Mean Multiple 1.48

Don't miss a new dolt release

NewReleases is sending notifications on new releases.