Merged PRs
dolt
- 8062: add SchemaName to DatabaseSchema interface
Depends on dolthub/go-mysql-server#2569 - 8059: Add initial, no-op implementation for
ListBinaryLogs
API changes
Adds a simple no-op implementation forDoltBinlogPrimaryController.ListBinaryLogs
to keep it in sync with API changes in GMS.
Depends on dolthub/go-mysql-server#2567
go-mysql-server
- 2572: fix for
table_catalog
forinformation_schema.tables
- 2570: Added infoschema to privilege check
This fixes: #8052
In the analyzer, we make a check to determine if we're querying the information schema. The queries provided in the issue that do not work are regarded as subqueries, and these are explicitly ignored. This causes the privilege checker to look for the information schema tables by name, which is not the intended behavior.
This PR just adds an additional information schema check at a lower layer, which should remove the inconsistencies found from the queries provided in the issue. - 2569: add SchemaName to DatabaseSchema interface
This method returns schema name. Schema name for Doltgres and database name for Dolt. - 2567: Add support for
SHOW BINARY LOGS
When theSHOW BINARY LOGS
statement is executed, GMS will invoke the registeredBinlogPrimaryController
to ask it for the list of binary logs and send them back to the client. - 2566: Renamed index functions and enums to be public
This renames theindexScanOp
enum so that it's accessible from outside the package, and also replaces the type switch innewLeaf
with a replaceable function that can be overridden from outside the package to support types that are not native to GMS. - 2565: When a subroutine (like
CREATE PROCEDURE
contains a subqeury, correctly index into it.
Fixes #8028
We didn't have tests for constructs containing nested subroutines (likeCREATE PROCEDURE foo() CREATE PROCEDURE bar() SELECT 1;
This PR adds tests for those, but tests where we don't currently match MySQL are disabled. There's enough enabled tests to show that statements like this no longer cause a panic.
Making sure that we match MySQL for these statements should be done in a follow-up. - 2564: validate all string types for unicode
MySQL throws errors on invalid utf8 encoded strings. A previous PR detected those, but only for[]byte
string conversions. Prepared statements receive the string parameters as astring
type, so this PR moves the check for all conversions.
Additionally, it adds bindings toAssertErr
andAssertErrWithCtx
methods.
related pr: dolthub/go-mysql-server#2562
dolt pr: #8060
fixes #8040 - 2563: small changes to stats bucket counting
Joins don't track output MCVs anymore, they aren't in a format where they'd be useful anyways. Also assume MCVs are sorted for faster matching.