Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
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
auto_increment
primary key columnAllows
auto_increment
primary key columns to be dropped, so long as there exists a secondary index that covers theauto_increment
column.Depends on Allow primary keys with
auto_increment
columns to be dropped when an appropriate index exists dolthub/go-mysql-server#2316Related to Can't drop primary index. dolthub/dolt#7456
go-mysql-server
auto_increment
columns to be dropped when an appropriate index existsMySQL allows a primary key with an
auto_increment
column to be dropped as long as there is a secondary index that includes theauto_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.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.
group by ... having ...
aliasing once moreThis PR simplifies the
GROUP BY
andHAVING
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
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#308Related to Implement COM_RESET_CONNECTION dolthub/dolt#3921
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
andopScale
, 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 todecimal
.correctness: bump dolthub/dolt#7442
fixes incorrect decimal scale if division is used, but it is not the last operation dolthub/dolt#4931
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
andshow create table
.There are still several limitations with table comments that we should eventually follow up on:
ALTER TABLE
does not support altering a table's comment.Related to add table create comment to table spec dolthub/dolt#7416
vitess
re: Any chance to get dynamic parameters for user procedures? dolthub/dolt#7458
stats_auto_recalc
table optionThis fixes 1 sqllogictest
Closed Issues
CREATE TABLE
dolt push
may be overly aggressive in its fast-forward check.