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
[]byte
convert
[]byte
s to string before comparing themcompanion pr (with tests):
fix
binary
cast to maintain length dolthub/go-mysql-server#2377fixes Panic on comparison in Query generated by MediaWiki. dolthub/dolt#7578
recent charset changes exposed some issues with existing tests
companion: return errors for charset/collation mismatch dolthub/go-mysql-server#2376
Allows customers to specify a commit, branch, or tag in the
@@dolt_schema_override_commit
session variable and have all table's data mapped to the schema from that commit, branch, or tag, when queried.Example
As a simple example, consider a database with amain
branch that has added the new columnbirthday
to a table, and anolderBranch
branch with a table that has not been updated with that schema change. Customers cannot use the same queries from themain
branch to query the data on theolderBranch
because of the schema difference. Setting a schema override allows the customer to map the table schemas on theolderBranch
branch to the same schema as on themain
branch. This can be useful when you want to run queries on older data, but don't want to rewrite your queries for older schemas.Limitations
The first version of schema override support is subject to several limitations. Please reach out to us and let us know if you'd like any of these to be prioritized.NULL
is a planned enhancement.Design doc
Reference docs update: Adding docs for the schema overriding system var dolthub/docs#2062
Fixes: Ability to "project" schema at a commit onto data at another commit dolthub/dolt#5486
go-mysql-server
json_pretty
MySQL Docs:
https://dev.mysql.com/doc/refman/8.0/en/json-utility-functions.html#function_json-pretty
straight join
toinner join
This PR temporarily remaps
STRAIGHT_JOIN
operator toINNER_JOIN
operator.fixes Support STRAIGHT_JOIN used by MediaWiki dolthub/dolt#7580
binary
cast to maintain lengthWe were improperly dropping
CAST
node during comparison.It might be fine in many cases, but it is definitely not for comparing
BINARY
column types.charset
table option testsIn GMS, we reparse table options with a regular expression, but we only cover
CHARACTER SET
and not its synonymCHARSET
.As a result, we just ignore table options for
CHARSET
.The fix is in support binary charset in table option dolthub/vitess#315
TODO: maybe should just address this TODO instead...
JSON_QUOTE()
MySQL Docs:
https://dev.mysql.com/doc/refman/8.0/en/json-creation-functions.html#function_json-quote
Some clients rely on the correct casing of column names
For some reason, the casing is different when performing
SHOW ENGINES;
vsselect * from information_schema.engines;
Fortunately, the way we do
SHOW ENGINES;
is actually aSELECT ...
under the hood.So the hacky fix is to just use an alias :)
related MediaWiki needs
SHOW ENGINES
to return first letter uppercase column names like MySQL dolthub/dolt#7574last_insert_uuid()
functionUUIDs are often used in place of
auto_increment
IDs, but MySQL doesn't provide an easy way to get the last generated UUID that was used in an insert. This change introduces a new function,last_insert_uuid()
that operates similarly tolast_insert_id()
. For a column identified as a UUID column, callers can uselast_insert_uuid()
to retrieve the last generated UUID value that was inserted into that column. In order to be considered a UUID column, a column must be part of the primary key and it must meet one of the following type signatures:VARCHAR(36)
orCHAR(36)
with a default value expression ofUUID()
VARBINARY(16)
orBINARY(16)
with a default value expression ofUUID_to_bin(UUID())
(optionally, theswap_flag
forUUID_to_bin
may also be specified)Example usage:
vitess
This PR adds
binary
as a valid charset option.Additionally, this changes
CHARSET
to expand to synonymCHARACTER SET
for parsing in GMS.fixes
default charset=binary
is messing up in a create table statement dolthub/dolt#7576Closed Issues
SHOW ENGINES
to return first letter uppercase column names like MySQLdefault charset=binary
is messing up in a create table statement