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.release notes
When a new branch is pushed to a SQL server through the RemotesAPI, that branch will not have its working set initialized yet. If a customer accesses that branch as a branch-revision database (e.g.
mydb/my_new_branch) and performs a write operation, the lack of a working set will cause an error. This change fixes that case by initializing a branch-revision database's working set if it has not been created yet.Found testing Cursor Agent with GPT-5
Root objects occupy the same namespace as tables, however they shouldn't be returned in places that expect to see only tables. This PR allows for a distinction when querying for names, so that locations that only work with tables (such as some system tables) no longer receive root object names.
Required for:
dolt_checkout()initializes a branch's working setdolt_checkout()already had logic to initialize a branch's working set if one was not available, but the error it expected to see to trigger that logic was not being returned by the functions it called. This changes thecheckoutExistingBranch()function so that it also resolves the working set for that branch and returns adoltdb.ErrWorkingSetNotFounderror if the working set is not available.SetSystemVarandGetRowsForSqlI notice that Claude Code likes auto_increment primary keys but Dolt likes UUID keys better. So, I added a section to AGENT.md.
We would always assume that tables are used in certain situations (rather than root objects), which would lead to a panic.
Two small changes to CI:
dolt ci importnow requires that the branches you list underon.action,on.pull_requestare valid branch names. This also blocks off attempting to use the*wildcard identifier, which we do not support.dolt ci import --helppage to include the specification for the workflow yaml files.Companion PR: allocate fewer
sql.Rows dolthub/go-mysql-server#3146Fixes dolthub/dolt#9582
Cherry-pick now preserves original commit timestamp during operations.
User demonstrated that a no-op pull was taking far too long. Turns out we should be stopping processing but instead do a lot of unnecessary status printing computation only to throw it away. This change just short circuits any work if the current branch is already up-to-date.
go-mysql-server
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 reject
CREATE TRIGGERstatements 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.Fixes dolthub/go-mysql-server#3144
Add Error() method to parseErr struct so tracing systems show actual error messages instead of memory addresses like "{0xc006f85d80}".
sql.RowsThis PR removes extra sql.Row allocations where it has no impact on logic.
Doltgres error: Use AppendAndSliceString instead of AppendAndSliceBytes dolthub/doltgresql#1735
SetOps with joins and subqueriesThe analyzer rule
assignExecIndexeswill apply aStripRowNodeover any joins within a subquery.The analyzer rule
finalizeUnionsrecursively calls the analyzer (callingassignExecIndexes), resulting inStripRowNodes getting applied twice.The double stripping results in rows that are too short and panics.
This PR tells the finalizeUnions selector to skip
assignExecIndexes, preventing the nestedStripRowNodes.Also has some small formatting and naming clean up.
fixes:
handler caught panic: runtime error: slice bounds out of rangeon SELECT...EXCEPT query dolthub/dolt#9631DELETE ... RETURNINGAdds support for the
RETURNINGclause inDELETEstatements. This syntax is supported in Postgres/Doltgres, but not in Dolt/GMS/MySQL.Tests for this functionality are in the associated Doltgres PR: Support for
DELETE ... RETURNINGdolthub/doltgresql#1712This library depends on https://github.com/go-kit/kit.
It looks to only use this for this single package: https://github.com/go-kit/kit/blob/master/metrics/discard/discard.go
Although the usage of this package is safe, the
go-kitlibrary hasn't been maintained since 2023 - and is throwing some warnings in our security scanning.Can we look at removing usage of this external library?
The proposed PR replaces it with an internal interface - but also allows configuration via a config options.
Alternatively it could maybe be dropped completely? It's only a no-op.
Closed Issues
agent.mdtodolt_docspopulated oninithandler caught panic: runtime error: slice bounds out of rangeon SELECT...EXCEPT queryView the full release notes at https://github.com/dolthub/dolt/releases/tag/v1.58.3.