github dolthub/dolt v0.41.7
0.41.7

latest releases: v1.38.1, v1.38.0, v1.37.0...
19 months ago

Merged PRs

dolt

  • 4413: turn off opt-in feature for unix socket
    Initial implementation of unix socket has opt-in feature for unix socket support. The default of mysql unix socket when socket flag is not defined is when host is defined as 'localhost' or undefined.
  • 4395: improve error message when current branch on session is force deleted
    An active branch in session can be force deleted. The session on deleted branch cannot run any queries that requires dolt transaction. It gives error message with possible actions that user can take, either to run USE <database>/<branch> query or reconnect to the server.
    Depends on dolthub/go-mysql-server#1288

go-mysql-server

  • 1291: allow adding column to table with autoincrement column
    fix for: #2587
  • 1288: add ValidateSession() to Session interface
    #4395 depends on this PR
  • 1280: More join types
    Add FullOuterJoin, SemiJoin, and AntiJoin.
    None of these new join nodes are safe for join ordering transformations yet. They are explicitly excluded from join planning.
    The getField indexes for these three nodes' join conditions deserve more consideration. I excluded them from auto-fixup after manually correcting join condition get fields for the appropriate schemas.
    FullOuterJoin uses a union distinct execution operator, which is correct but a lot slower than a merge join-esque operator.
    SemiJoin and AntiJoin rearrange subquery expression scopes. I separate resolve and finalizeSubqueryExpressions to perform decorrelation before predicate pushdown (where we were panicking on FixUpExpressions) and join ordering (we want to decorrelate scopes before join planning).
    Other:
    • query plan tests added for exist hoisting edge cases i did not catch on first pass
    • fixed bug with CTE stars

vitess

  • 195: Allow other options to precede COLLATE in column type defintions
    Fixes #4403
    Previously, COLLATE had to immediately follow the column type in a column definition. As per the above issue, this is not a required rule in MySQL. The fix involved moving all collation-related options from the column_type rule to the column_type_options. This caused a conflict in column_type_options, as column_default also has a COLLATE rule. The conflicting rule resolved to the following:
    column_type_options DEFAULT value_expression COLLATE ID
    
    For reference, this is the new COLLATE rule in column_type_options:
    column_type_options COLLATE ID
    
    Given the MySQL expression DEFAULT "xyz" COLLATE utf8mb4_bin, it could match either rule, which caused the conflict. value_expression is too permissive in this context, and although we filter out invalid expressions in GMS, we need to be more restrictive here in the parser to prevent conflicts. In addition, the above example should put the collation on the column, as it is not possible to add a collation to a default string literal (must use the expression form: DEFAULT ("xyz" COLLATE utf8mb4_bin)).
    To fix this, the column_default rule was updated to be vastly more restrictive. This also highlighted some tests in GMS that enforce incorrect behavior, but those have been fixed ahead-of-time, and will be incorporated into the bump PR.
    NOTE: For some reason, we had tests allowing the use of utc_timestamp, utc_date, etc. as default values without the need for parentheses. This is not allowed in MySQL, so I am unsure as to why we allowed them in the first place. Perhaps because they're similar to CURRENT_TIMESTAMP, so we just allowed all of them? Regardless, the tests have been removed as they no longer pass (as they should not pass).
  • 194: adding missing keywords to token.go
    I forgot to add some keywords used in ROW_FMT table option, which caused a bats test to fail

Closed Issues

  • 4403: Modifying a column is order-sensitive for NOT NULL and COLLATE
  • 387: Pushing to DoltHub with incorrect credentials does not fast fail
  • 629: Peer-to-peer dolt server?
  • 4419: Unicode error running a utf8mb4 MySQL database export
  • 4360: Deleting branch causes error in another session if that branch is active
  • 4358: support PARTITION syntax in CREATE TABLE
  • 4353: Incorrect result from aggregating on table joined in both subquery and CTE
  • 4344: Subquery alias naming conflict

Don't miss a new dolt release

NewReleases is sending notifications on new releases.