github dolthub/dolt v1.58.4
1.58.4

latest releases: v1.58.6, v1.58.5
12 days ago

Merged PRs

dolt

  • 9701: go: SysbenchDockerfile: Mirror the download tarball for sqlite.
    Fixes broken Github actions based on recently implemented robot checks on the sqlite server.
  • 9697: #9641 - Fix CSV export for bit union generalization
    Fixes #9641
    Add normalization in CSV string export conversion to detect non-canonical types.
  • 9693: Ensure that errors are displayed in interactive mode
    Due to an accidental variable shadowing, error messages that occurred when iterating over query results wouldn't be displayed if the user runs dolt sql in interactive mode.
    Prior behavior:
    db/main*> SELECT JSON_PRETTY("not valid json");
    db/main*>
    
    Fixed behavior:
    db/main*> SELECT JSON_PRETTY("not valid json");
    Invalid JSON text in argument 1 to function json_pretty: "not valid json"
    db/main*>
    
  • 9681: reduce creation of new strings and []string
    Changes:
  • 9680: @@PORT returns correct port
    Fixes: #5898
  • 9674: Remove references to branch wildcards in Dolt CI YAML in AGENT.md
    Dolt CI does not support wildcards in branch specs.
  • 9672: Add support for altering table comments
    fixes #9279
    relies on dolthub/go-mysql-server#3156
  • 9670: Unskip the LOAD DATA with NULLs and defaults BATS fixed by corresponding GMS changes
    Companion fix is here: dolthub/go-mysql-server#3155
  • 9663: avoid using sql.Row.Append()
    Companion PR: dolthub/go-mysql-server#3154

go-mysql-server

  • 3164: handle RowIter as result from Eval function in TableFunctionWrapper
  • 3161: Allow hash functions to work on BINARY columns when the binary is not valid UTF8
    Previous, as part of computing hashes for MySQL's hash functions (MD5, SHA1, etc), we could convert the input into a text type. But this would cause errors in strict mode of the input was a binary value that was not valid utf8.
    By converting the input into a binary type, we keep all the same behavior, except that binary inputs now work correctly.
  • 3158: cache sql.Schema in plan.Project and plan.TableAlias
    Changes:
    • plan.Project.Schema() and plan.TableAlias.Schema() create a new sql.Schema every time they are called, which can be a lot during analysis. So, the results are cached.
    • sql.Index.Expressions() retrieves a new []string, so we should cache that as well. Additionally, many times we unqualify the results, so I added a UnqualifiedExpressions() to avoid doing this extra processing every time.
    • changes idxExprsColumns to avoid using strings.Split to avoid extra allocations
  • 3156: Add support for altering table comments
    part of #9279
    relies on dolthub/vitess#424
    dolt changes made in #9672
  • 3155: Made LOAD DATA handle NULL values and defaults correctly
  • 3154: avoid using sql.Row.Append()
    sql.Row.Append() will always make a deep copy of the row, so we should avoid it.
    Instead we have copies to cached sql.Rows or reuse the backing array through append() (sometimes golang's runtime will allocate a new one anyway).
  • 3152: Validate trigger name length is not over 96 chars
    We weren't enforcing any name length constraints on triggers, and when customers created triggers with very long names (i.e. over 64 characters, the MySQL limit), they could encounter problems with table schemas that don't support longer lengths.
    In this change, we apply a max trigger name length of 96 characters and reject CREATE TRIGGER statements that create triggers with names longer than that limit. We chose 96 characters for the limit, instead of copying MySQL's 64 character limit, so that this change would not break existing applications that are creating trigger names slightly longer than MySQL's 64 character limit.
  • 3148: #9641 - Fix BIT Overflow
    Fixes #9641
    Fixed Max1Row optimization being incorrectly applied to UNION subqueries. Also fixed UNION schema type reconciliation using GeneralizeTypes().
  • 3073: Allow select aliases to be in group by/having
    fixes #7095
  • 3005: Added support for @@port, @@hostname, and other system variables
    fixes #5898
    related to #6037
    MySQL docs

vitess

  • 425: Add parsing of VECTOR type
    This adds parsing and sqlType info for a VECTOR type, matching MySQL's behvaior.
  • 424: Add AlterCommentSpec to DDL
    part of #9279
  • 423: Allow using FOR UPDATE NOWAIT in SELECT statements
    Fixes #9604

Closed Issues

  • 9641: 48 is beyond the maximum value that can be held by 1 bits
  • 7095: References in GROUP BY / HAVING should be allowed to match SELECT aliases.
  • 5898: @@PORT is hard-coded to 3306
  • 9279: Add support for altering table comments

Don't miss a new dolt release

NewReleases is sending notifications on new releases.