Merged
Conversation
alebcay
approved these changes
Dec 31, 2025
Contributor
|
🤖 An automated task has requested bottles to be published to this PR. Caution Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.Details
release notes
fixes #10233
Not checking if a value is in the converted range was causing us to use incorrect keys. For example, if the literal
-87840was used as a key for a boolean/tinyint column, it would get converted to-128and match rows with-128, even though that's not the same value.This change checks for if a conversion is
InRange, and if it's not, it returns a nillookupMapping. The nillookupMappingwill then return false when*lookupMapping.valid()is called.Test added in dolthub/go-mysql-server#3357
This PR changes the
DefaultTupelComparatorto be a pointer receiver, and changesFixedAccessto only use half the number of indices.GetFieldValueSome of the runtime is taken up by
mapaccess, which isn't necessary; this PR gets rid of it.Fixes: Support
merge --ff-onlyflag dolthub/dolt#10151In Doltgres,
SHOW TABLESwas returning table names as well as other root object names, like sequence names. This PR changes theTablesOnSearchPathfunction to stop returning the other root object names.Related to:
SHOW TABLES should not show sequences dolthub/doltgresql#1743
go-mysql-server
time.Timelibrary callsInstead of calling
Year(),Month(),Day(),Hours(),Minutes(), andSeconds()individually, just usetime.Date()andtime.Clock().Benchmarks: faster date parse bump dolthub/dolt#10249 (comment)
ANDandORfiltersfixes dolthub/dolt#10243
Previously, if one of the children of an
ANDorORexpression was a literal that evaluated tofalseortrue(respectively), we would return the child. However, this caused a typing issue sinceANDandORare booleans while its children can be of any type. Take the expression19 or 's'for example; the left child19evaluates totrue, making the expression true every time, but returning the left child19as a simplification would be incorrect since we would want the expression to simplify to a booleantrue, not the number 19.Now, instead of returning the child that determines the result of an
ANDorORexpression, we return the boolean value that the expression results to.fixes dolthub/dolt#10234
When converting an antijoin to a left join, it is normally okay to use a nullable GetField in a null filter. However, we cannot do so if GetField is both nullable and part identifying an expression's parent during InspectExpr so we have to be extra safe by not allowing nullable GetFields in null filters at all.
computeSplits up the
computeingroupByGroupingIterinto two threads:sql.RowbufferBenchmarks: Concurrent groupby bump dolthub/dolt#10232 (comment)
IsNullablefor all functions to matchEvaloutputfixes dolthub/dolt#10161
LOAD DATALOAD DATAhas been ingesting user variable related fields into the rows used to evaluate set expressions. This fix resolves this issue, and as a result adds the feature to use user variables to discard fields from a parsed file line.Default initialization of expressions has also been updated to follow MySQL's "zero value" behavior for non-nullable columns.
transform.Inspectandtransform.InspectExprChanges:
transform.Inspectswitches onUnaryNodeandBinaryNodeto avoid heap allocations fromnode.Children()transform.InspectExprswitches onUnaryExpressionandBinaryExpressionto avoid heap allocations fromexpression.Children()UnaryExpressionimplementation fromunaryAggBaseand some functions that can return multiple children.Benchmarks: [no-release-notes] avoid heap allocs in transform bump dolthub/dolt#10222 (comment)
This is to support Doltgres, which has extra nodes in its expression trees in some cases.
analyzerandplanbuilderoptimizationsChanges:
convertIntto call strings library fewer timesInspectExpr()isEvaluableinto single passSprintfwith simple string concatenationiScanAndcount children as they are addedbenchmarks: ranges bump dolthub/dolt#10210 (comment)
fixes dolthub/dolt#10186
Numeric types cannot be used as keys for String type columns due to the way the types convert. For example, a String with a value "i" is equivalent to 0; however, 0 converts to "0" as a String and therefore cannot be used as key to index to "i".
Doltgres companion PR dolthub/doltgresql#2121
SubqueryAlias.OuterScopeVisibilityto true if inside trigger scopeFixes dolthub/dolt#10175
Trigger scopes were being included when determining exec indexes for
SubqueryAliaschild nodes but were not actually passed down to child iterators during rowexec (code). As a result, we were getting index out of bounds errors since the trigger scopes were not included in the parent row.Since there's no easy way to separate the trigger scope columns out from the rest of the parent row during rowexec, it was easier to just mark
SubqueryAlias.OuterScopeVisibilityinside triggers to true. I think it technically does make sense here because the trigger scope is an outer scope that theSubqueryAliasdoes have visibility of, but I added a TODO comment in case this is incorrect.Closed Issues
merge --ff-onlyflagIsNullablefor functions and expressionsIsNullablefor all functionsView the full release notes at https://github.com/dolthub/dolt/releases/tag/v1.79.2.