Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dolt 1.33.0 #162008

Merged
merged 2 commits into from
Feb 7, 2024
Merged

dolt 1.33.0 #162008

merged 2 commits into from
Feb 7, 2024

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
This release contains backwards incompatible changes:
  • Dolt sql-server now honors the COM_RESET_CONNECTION command from the MySQL protocol. This command instructs the sql-server to clear all session state (e.g. prepared statements, user variables, session variables) and is most often used for connection pooling, to allow a connection's session to be cleared before it is given to another thread to use. This change makes Dolt's sql-server match MySQL's behavior in connection pooled environments, but we are calling this out as a potential backwards incompatible change in case any customers are relying on the previous behavior, such as relying on prepared statements to persist in the session after it is returned to the connection pool.

Per Dolt’s versioning policy, this is a minor version bump because these changes may impact existing applications. Please reach out to us on GitHub or Discord if you have questions or need help with any of these changes.

Merged PRs

dolt

go-mysql-server

  • 2316: Allow primary keys with auto_increment columns to be dropped when an appropriate index exists
    MySQL allows a primary key with an auto_increment column to be dropped as long as there is a secondary index that includes the auto_increment column as the first column in the index. (MySQL Reference)
    This PR also enables dropping a primary key by referencing it by it's ID (PRIMARY), in order to match MySQL's behavior, e.g.
    DROP INDEX `PRIMARY` ON t;
    
    Related to Can't drop primary index.  dolthub/dolt#7456
  • 2315: Stored procedures can use params as LIMIT,OFFSET
    fixes: Any chance to get dynamic parameters for user procedures? dolthub/dolt#7458
    Fixes procedure param types in the process.
    Testing against mysql it doesn't seem like subqueries or regular column types are valid as LIMIT values in any case other than procedure parameters. I still need to test whether trigger columns can be used in LIMIT,OFFSET, but that seems like a separate problem.
  • 2311: fix group by ... having ... aliasing once more
    This PR simplifies the GROUP BY and HAVING aliasing rules to much more closely match MySQL's weirdness.
    TODO: Go through various group by aliasing issues and link fixed ones here
    correctness: gb bump dolthub/dolt#7455
  • 2310: Implement COM_RESET_CONNECTION
    Implements the COM_RESET_CONNECTION command to allow a sql-server to clear session state on a connection so that it can be safely reused, for example, in connection pools.
    This matches MySQL's behavior, but customers may see a behavior change from this if they are relying on the old behavior. For example, if customers are relying on prepared statements to remain available in a session after it has been released to a connection pool and then reassigned to a new worker thread. The behavior now matches MySQL, where prepared statements, session vars, and user vars are all reset on a connection when the COM_RESET_CONNECTION command is executed on a connection.
    Depends on Change Handler.ComResetConnection to return an error dolthub/vitess#308
    Related to Implement COM_RESET_CONNECTION dolthub/dolt#3921
  • 2308: fix decimal precision for division
    divScale tracks the number of division operators on the leftSubtree. It can be used to determine if the current expression is the outermost Div expression, and doubles as a way to determine how many decimal places of precision we need to add.
    opScale tracks the total number of Arithmetic operators in the expression tree in total. It is used to identify the outermost Arithmetic expression.
    There were a few places where we were mixing up divScale and opScale, leading to improper rounding; this PR fixes that.
    As a result, we are able to properly round decimal results when the outermost operator is not a Div.
    Additionally, this PR also contains a fix for functions that return float64 being incorrectly converted to decimal.
    correctness: bump dolthub/dolt#7442
    fixes incorrect decimal scale if division is used, but it is not the last operation dolthub/dolt#4931
  • 2307: Persist table comment from create table
    We parse table comments, but they were not persisted anywhere. This change adds support for persisting table comments so that they can be round-tripped between create table and show create table.
    There are still several limitations with table comments that we should eventually follow up on:
    • Table comments containing any single quotes are not supported – Vitess parses the table options, but then strips any quotes and replaces them with single quotes, then pushes all table options back into a single string that GMS parses again, using regexes to pull out charset, collation, and comment. If a table comment is double quoted and contains single quotes in the string, Vitess doesn't currently preserve enough information for us to reparse that correctly in GMS. The right fix for this is to change Vitess to return table options in a structure, instead of as a single string.
    • ALTER TABLE does not support altering a table's comment.
      Related to add table create comment to table spec dolthub/dolt#7416

vitess

Closed Issues

  • 7435: Make phone home behavior opt-in
  • 7384: Can't add multiple foreign keys in CREATE TABLE
  • 7458: Any chance to get dynamic parameters for user procedures?
  • 4931: incorrect decimal scale if division is used, but it is not the last operation
  • 7448: dolt push may be overly aggressive in its fast-forward check.
  • 2314: Can't turn on multiStatements when using memory driver

@github-actions github-actions bot added go Go use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Feb 7, 2024
Copy link
Contributor

github-actions bot commented Feb 7, 2024

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Feb 7, 2024
@BrewTestBot BrewTestBot enabled auto-merge February 7, 2024 06:58
@BrewTestBot BrewTestBot added this pull request to the merge queue Feb 7, 2024
Merged via the queue into Homebrew:master with commit f53663c Feb 7, 2024
12 checks passed
@BrewTestBot BrewTestBot deleted the bump-dolt-1.33.0 branch February 7, 2024 07:08
@github-actions github-actions bot added the outdated PR was locked due to age label Mar 9, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. go Go use is a significant feature of the PR or issue outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants