You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
8041: Truncate MCVs
Sort and truncate MCVs. Only keep values whose frequency is > twice the uniform frequency. This prevents us from manually summing non-outliers (which is expensive).
8025: [prolly] Float keyRange increment bug
Incrementing the [n, n+1) key range is a lot faster than a binary search with a tuple comparison callback. But it is subject to at least two edge cases where (n+1) is not a valid stop range: (1) n+1 == n, because of precision loss, and (2) n+1 < n, because of overflow.
I added a series of GMS tests here: dolthub/go-mysql-server#2554. I couldn't find a DECIMAL failure case, I think DECIMAL always encodes a valid 1's place, and is not subject to overflow AFAICT.
go-mysql-server
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.
2562: throw error on invalid utf8 encoding for strings
fixes #8040
2561: Fixes unexpected timezone converting when passing TIMESTAMP to unix_timestamp()
see #2111
2560: fix GetField indexes for UpdateJoin with Update Trigger
This PR addresses an issue where we were incorrectly assigning GetField indexes to an update join query.
The fix involved:
adding a case for triggerIters to rowUpdateAccumulator
not picking ResolvedTable references under SubqueryAliases when there are multiple
correctly setting the scope node for update joins
fixes #7943
2559: Implement support for DECLARE CONTINUE HANDLER
Fixes #7971
Previously, we would always terminate a block when encountering an error, even if there's a matching handler. Additionally, there was no mechanism to resume an error that happened inside a LOOP construct.
This correctly implements DECLARE CONTINUE HANDLER by making the following changes:
Checks for handlers while executing the Block node instead of the BeginEnd node.
For DECLARE EXIT HANDLER, the Block returns a special error value that propagates to the containing BeginEnd node in order to terminate just that node.
2556: Compute GetField indexes in procedure if-conditions.
Fixes #7994
It seems like we aren't running the assignExecIndexes analysis pass on if-conditions when invoking stored procedures, which can cause execution failures if the condition has a sub-expression that has a GetField node.
Fixing this revealed a related issue: when constructing the scope of the if-condition to determine the correct indexes, we were incorrectly including any columns from the condition's body in the scope. This was also causing incorrect index calculations for GetFields in the if-condition, and is also fixed here.
(This only affected conditionals in stored procedures, not conditionals in triggers, because the analysis has a separate execution path for each; analyzeProcedureBodies is not called for triggers.)
2555: [stats] simplify stats comparison and mcv logic
Lazier comparison logic. Skip promoting/converting types when the index types match.
Remove an expensive and seemingly unnecessary bucket compression step that was re-evaluating mcvs.
355: New functions to create PreviousGtids events, and to update event checksum
354: support VALUES statement
This PR add syntax support for VALUES statment as an alias for SELECT * FROM ....
We are still missing SELECT (VALUES ...) (support for values as a select_expression).
syntax for #8012
Closed Issues
8034: Users are able to create branches with a "-" at the start. If you try to delete the branch after that, it looks like dolt is understanding it as an option for dolt_branch
8040: Inserting BINARY into VARCHAR(26) should result in error Incorrect string value
7943: Update with subquery join clause causes field index error/panic for table with trigger
8042: mysql:latest - missing error: [HY000][1524] Plugin 'mysql_native_password' is not loaded
7971: NOT FOUND handlers in procedures cause ERROR 1105 (HY000): EOF
7994: "Unable to find field with index" error on INSERT in procedure following IF (SELECT ...)