Merged PRs
dolt
- 9701: go: SysbenchDockerfile: Mirror the download tarball for sqlite.
Fixes broken Github actions based on recently implemented robot checks on the sqlite server. - 9697: #9641 - Fix CSV export for bit union generalization
Fixes #9641
Add normalization in CSV string export conversion to detect non-canonical types. - 9693: Ensure that errors are displayed in interactive mode
Due to an accidental variable shadowing, error messages that occurred when iterating over query results wouldn't be displayed if the user runsdolt sql
in interactive mode.
Prior behavior:
Fixed behavior:db/main*> SELECT JSON_PRETTY("not valid json"); db/main*>
db/main*> SELECT JSON_PRETTY("not valid json"); Invalid JSON text in argument 1 to function json_pretty: "not valid json" db/main*>
- 9681: reduce creation of new
string
s and[]string
Changes:- reduces string operations by caching the revision database name
Companion PR: dolthub/go-mysql-server#3158
- reduces string operations by caching the revision database name
- 9680: @@PORT returns correct port
Fixes: #5898 - 9674: Remove references to branch wildcards in Dolt CI YAML in AGENT.md
Dolt CI does not support wildcards in branch specs. - 9672: Add support for altering table comments
fixes #9279
relies on dolthub/go-mysql-server#3156 - 9670: Unskip the LOAD DATA with NULLs and defaults BATS fixed by corresponding GMS changes
Companion fix is here: dolthub/go-mysql-server#3155 - 9663: avoid using
sql.Row.Append()
Companion PR: dolthub/go-mysql-server#3154
go-mysql-server
- 3164: handle RowIter as result from Eval function in TableFunctionWrapper
- 3161: Allow hash functions to work on BINARY columns when the binary is not valid UTF8
Previous, as part of computing hashes for MySQL's hash functions (MD5, SHA1, etc), we could convert the input into a text type. But this would cause errors in strict mode of the input was a binary value that was not valid utf8.
By converting the input into a binary type, we keep all the same behavior, except that binary inputs now work correctly. - 3158: cache
sql.Schema
inplan.Project
andplan.TableAlias
Changes:plan.Project.Schema()
andplan.TableAlias.Schema()
create a newsql.Schema
every time they are called, which can be a lot during analysis. So, the results are cached.sql.Index.Expressions()
retrieves a new[]string
, so we should cache that as well. Additionally, many times we unqualify the results,so I added aUnqualifiedExpressions()
to avoid doing this extra processing every time.- changes
idxExprsColumns
to avoid usingstrings.Split
to avoid extra allocations
- 3156: Add support for altering table comments
part of #9279
relies on dolthub/vitess#424
dolt changes made in #9672 - 3155: Made LOAD DATA handle NULL values and defaults correctly
- 3154: avoid using
sql.Row.Append()
sql.Row.Append()
will always make a deep copy of the row, so we should avoid it.
Instead we have copies to cachedsql.Rows
or reuse the backing array throughappend()
(sometimes golang's runtime will allocate a new one anyway). - 3152: Validate trigger name length is not over 96 chars
We weren't enforcing any name length constraints on triggers, and when customers created triggers with very long names (i.e. over 64 characters, the MySQL limit), they could encounter problems with table schemas that don't support longer lengths.
In this change, we apply a max trigger name length of 96 characters and rejectCREATE TRIGGER
statements that create triggers with names longer than that limit. We chose 96 characters for the limit, instead of copying MySQL's 64 character limit, so that this change would not break existing applications that are creating trigger names slightly longer than MySQL's 64 character limit. - 3148: #9641 - Fix BIT Overflow
Fixes #9641
Fixed Max1Row optimization being incorrectly applied to UNION subqueries. Also fixed UNION schema type reconciliation using GeneralizeTypes(). - 3073: Allow select aliases to be in group by/having
fixes #7095 - 3005: Added support for
@@port
,@@hostname
, and other system variables
fixes #5898
related to #6037
MySQL docs
vitess
- 425: Add parsing of VECTOR type
This adds parsing and sqlType info for a VECTOR type, matching MySQL's behvaior. - 424: Add AlterCommentSpec to DDL
part of #9279 - 423: Allow using FOR UPDATE NOWAIT in SELECT statements
Fixes #9604