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 bumpCreated with
brew bump-formula-pr.release notes
Bumps mysql2 from 2.3.3 to 3.9.4.
traditionalauto-increment lock mode hold the lock for the duration of the insert iter.Fixes Support for
traditionalandconsecutivebehavior forinnodb_autoinc_lock_modedolthub/dolt#7634This is the dolt half of For AutoIncrement lock modes other than "interleaved", hold the lock for the duration of the insert iter. dolthub/go-mysql-server#2439
This adds support for
innodb_autoinc_lock_mode=0("traditional"). When this system variable is set, the engine will guarantee that every insert statement generates consecutive IDs forAUTO INCREMENTcolumns.This PR also allows the user to set
innodb_autoinc_lock_mode=1("consecutive"), although the behavior is currently identical to "traditional". This is acceptable because both modes make the same guarantees (that each statement gets consecutive IDs), and the observed behavior is the same in almost all cases.(The "consecutive" contains an additional optimization: if there is a known upper bound on the number of IDs that must be generated for an insert, under "consecutive" mode the engine will just increment the counter by that upper bound and immediately release the lock. In places where not all of those IDs are actually used, the excess are wasted. This PR does not include that optimization. Thus, with this PR,
traditionalandconsecutivebehave the same.)go-mysql-server
I was wrong, this is very broken in dolt.
Could not find a quick fix, so skipping tests to unblock auto-bumps.
reopens: Auto Increment increments despite error dolthub/dolt#3157
We parse these statements but don't yet support them. So for now we return a helpful error.
auto_incwith errorHard to tell which PR or combination or PRs fixed this, but this issue no longer reproduces in GMS or Dolt.
This PR just adds an explicit test case for it.
fixes Auto Increment increments despite error dolthub/dolt#3157
last_days()mysql docs:
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_last-day
information_schema.tablesfixes Table comments are "ignored" dolthub/dolt#2389
to_days()andfrom_days()This PR implements the
TO_DAYSandFROM_DAYSMySQL functions.Initially, I attempted to use the existing logic from Add/Sub Date along with the 0 year, but there were overflow issues.
So, there's a skipped test for Intervals.
to_daysdocs:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_to-days
from_daysdocs:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_from-days
gtid_subtract()functionAdds support for MySQL's
gtid_subtract()built-in function:https://dev.mysql.com/doc/refman/8.0/en/gtid-functions.html#function_gtid-subtract
SHOW BINARY LOG STATUSstatementAdds support for handling MySQL's
SHOW BINARY LOG STATUSstatement.As with the other replication commands, we test the privilege checks in GMS and test the actual integration for data flowing through this statement in Dolt.
SHOW VARIABLES LIKEshould be case-insensitiveBug fix to make
SHOW VARIABLES LIKE '...'match MySQL's behavior by matching patterns case-insensitively.Also includes changes to add the missing
binlog_formatsystem variable that some replication clients need to query, and initializes theserver_uuidsystem variable.This PR allows using defined string for sub statement instead of slicing the original query. If this field is empty, then slice the original query to get the sub statement.
DECLAREinBEGIN...END BLOCKinTRIGGERThis PR allows us to use
DECLAREstatements inTRIGGERS.The analyzer rule
applyTriggerswas altered to initializeProcedureReferenceforTriggerBeginEndBlock.The important part was ensuring that all relevant nodes (
TriggerBeingEndBlock,BeginEndBlock,ProcedureParam) all had the sameProcedureReferenceand to search in all the nodes.Additionally,
nilguards are added to all receiver methods forProcedureReferenceto prevent panics.It seems like events might have this issue, but there's a banaid fix for it. Not sure if I want to touch that code.
fixes: Crash on
BEFORE INSERTtrigger usingDECLAREvariable dolthub/dolt#7720Hi, I just wanted to fix a couple of minor grammatical errors in the README.md file.
This is the GMS side of Support for
traditionalandconsecutivebehavior forinnodb_autoinc_lock_modedolthub/dolt#7634This PR changes the engine to make it acquire a lock (provided by the storage layer) when
innodb_autoinc_lock_modeis set to the "consecutive" or "traditional" values. More specifically, it calls a new function in theAutoIncrementSetterinterface which optionally acquires a lock and returns a callback for releasing the lock.The in-memory DB doesn't have multithreading support, so when just using GMS, this is a no-op. A followup PR in Dolt will update its implementation of
AutoIncrementSetterto handle the locking.vitess
Once again, golang reminds me that a value type implementing an interface forces the pointer type to also implement the interface, and mixing the two messes up our runtime type reflection.
I changed all uses of the AliasedValues in InsertRows interface to be pointers so that we can interact with them consistently on the GMS side.
Needed to support the
gtid_subtract()built-in function. Also exposes theParseMysql56GTIDSetfunction so that we can parse GTIDSet strings from GMS.Related GMS PR: Feature:
gtid_subtract()function dolthub/go-mysql-server#2455FLUSH TABLESstatementAdds parser support for the
FLUSH TABLES <tablename_list> [WITH READ LOCK]statement.Also adds
SHOW MASTER STATUSas an alias forSHOW BINARY LOG STATUSfor compatibility with clients that use the older syntax (e.g. Debezium).Related to Syntax Error Occurs When Using AS Clause with ON DUPLICATE KEY UPDATE dolthub/dolt#7638
This allows us to parse statements of the form:
INSERT INTO t VALUES (?, ?, ?) AS new ON DUPLICATE KEY v = new.v;This PR adds optional
WITH CHECK OPTIONsupport forCREATE VIEWThis PR adds syntax support for
ALTER TABLE ... RENAME CONSTRAINT [FOREIGN KEY / CHECK]...for foreign key constraints.Closed Issues
trim(trailing ',' from column)syntax not supportedselect ... not in ...returns wrong results for nullsdolt sqland other commands should connect to running databasedolt sqldolt conflicts resolve <table> --combine-oursor--combine-theirs:=operator in SELECTBEFORE INSERTtrigger usingDECLAREvariabletraditionalandconsecutivebehavior forinnodb_autoinc_lock_mode