github dolthub/dolt v1.44.0
1.44.0

latest releases: v1.44.2, v1.44.1
5 days ago

This release contains two potentially backwards incompatible changes:

  1. persistence_behavior was removed from config.yaml and it is always default on.
  2. EXPLAIN output was changed to match MySQL. Past explain behavior was migrated to EXPLAIN PLAN.

Merged PRs

dolt

  • 8646: Allow importing parquet files with arbitrary root column names.
    Parquet represents schemas as trees with a root node, and columns as paths from the root to a leaf.
    parquet-go, the library Dolt uses to export tables as parquet files, uses parquet_go_root as the default name of the root node, but other names are allowed.
    Prior to this PR, Dolt was assuming that the parquet file always had a root node named parquet_go_root, and would fail if any other name was used. This PR changes the behavior to have Dolt read the name from the file instead.
    I also added a test that imports a simple parquet file that was not created with parquet-go.
  • 8645: Removed persitence behavior from config
  • 8639: Fix for updated issue 8623
    This is an actual fix for the following issue. Additional information was added, which actually exposes the root issue at hand. It's possible for the db/revision combo to make it to branch control, which expects just the branch name (since the revision is given under "branch"). This adds the proper split, so that we always get the database name.
  • 8638: go: doltcore: diff: table_deltas.go: Fix perf regression in dolt_add, dolt_commit.
  • 8636: Schema fixes for dolt_status, dolt_merge_status, and dolt_constraint_violations_* tables for doltgres

go-mysql-server

  • 2784: implement EXPLAIN and EXPLAIN PLAN
    Moving our current implementation of EXPLAIN to EXPLAIN PLAN, and replace EXPLAIN with a dummy implementation of MySQL's EXPLAIN
    Looks like this now:
    tmp2/main> explain select * from t;
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
    | id | select_type | table | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra |
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
    | 1  | SELECT      | NULL  | NULL       | NULL | NULL          | NULL | NULL    | NULL | NULL | NULL     |       |
    +----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+
    1 row in set (0.00 sec)
    tmp2/main> explain plan select * from t;
    +------------------+
    | plan             |
    +------------------+
    | Table            |
    |  ├─ name: t      |
    |  └─ columns: [i] |
    +------------------+
    3 rows in set (0.00 sec)
    related: #8592
  • 2782: avoid fmt.Sprintf and string alloc for time.Sql
    perf here #8640
  • 2781: return ok result for select into statements
    Our SELECT ... INTO ... statements return empty result set, which produces strange output in the dolt sql shell.
    MySQL just returns ok results, so we should too.
    discovered in: dolthub/go-mysql-server#2779
  • 2779: fix AS OF clause panic for certain expressions
    We attempt to parse eval AS OF expressions in the builder (because we assume it is going to be a literal), but Subqueries cannot be evaluated until after they have gone through the analyzer.
    partially addresses: #8635
  • 2776: bump mysql version
    Certain tools expect a higher version of MySQL.
    Currently, the latest stable version of MySQL is 8.4.4, but 8.0.23 is the minimum needed to satisfy mydumper.
    Additionally, this alters the version() method to select directly from the @@version system variable.
    related: #8592

vitess

  • 389: syntax support for custom explain plan
    For debugging purposes, we replaced MySQL's EXPLAIN output with our very own.
    Unfortunately, it is not causing problems, so we must move our syntax into its own thing.
  • 386: parse io_threads and sql_state as no-ops
    related: #8592
  • 384: add mariadb table opts and tests
    This PR adds support for parsing the mariadb table options listed here:
    https://mariadb.com/kb/en/create-table/#table-options
    They are all no-ops (much like many of the MySQL table options)
    related: #8592

Closed Issues

  • 8623: Branch-qualified DSN gets different branch permissions

Don't miss a new dolt release

NewReleases is sending notifications on new releases.