Add @ database revision delimiter for ORMs and drivers#10431
Merged
Conversation
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
2ddb7ec to
c8cd751
Compare
Contributor
@ database revision name delimiter for ORMs and drivers@ database revision delimiter for ORMs and drivers
Contributor
Contributor
… driver and ORMs connection URLs
…n `dolt_enable_revision_delimiter_alias` system variable
…ng compatible `@` delimiter, and amend Dockerfile documentation
…nable_revision_delimiter_alias`
…ion database changing on statement in dolt sql shell # Conflicts: # .gitignore
Contributor
macneale4
previously requested changes
Feb 10, 2026
Contributor
macneale4
left a comment
There was a problem hiding this comment.
I really don't like all the mash up of changes here. Updating all the ORM testing infra in the same change with this dolt logic just seems like it's going to cause trouble. Introduce the changes in bit size chunks.
...-tests/orm-tests/hibernate/DoltHibernateSmokeTest/src/main/java/com/dolt/hibernate/Util.java
Outdated
Show resolved
Hide resolved
d1f6918 to
b58353d
Compare
Contributor
|
@elianddb DOLT
|
b58353d to
fc371e0
Compare
Contributor
Contributor
|
@elianddb DOLT
|
fc371e0 to
418e448
Compare
Contributor
|
@elianddb DOLT
|
Contributor
|
@elianddb DOLT
|
Contributor
418e448 to
b6eaad2
Compare
Contributor
Contributor
Contributor
|
@elianddb DOLT
|
Contributor
Contributor
Contributor
|
@elianddb DOLT
|
Contributor
Contributor
|
@coffeegoddd DOLT
|
|
@coffeegoddd DOLT
|
|
@coffeegoddd DOLT
|
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.
Fix #10382
doltSQL shell bug where the revision database in use would switch tomainafter a SQL statement:@character as delimiter for database revision names and remove@use in normal database names.dolt_statustable to report status in detached heads.@delimiter for database revisions.MySQL ORMs (e.g., Prisma) and drivers have trouble parsing the
/character in database names for their connection URLs. Dolt's database revisions (i.e., branches and commits) system requires the use of/in order to access a database revision. Consequently, this makes revisions inaccessible via ORMs and drivers under certain interfaces, as seen in the issue above.As a result, the
@symbol now serves as a delimiter alias when accessing database revisions in Dolt. Any database-related queries that contain the@delimiter will resolve their strings to the/counterpart. Keep in mind the database in-use will be reflected in the@format. However, no new databases are created or stored, and you can still use the/name version.The following covered side effects exist to keep compatibility with MySQL ORMs and drivers that use their connection URLs' database for internal tables.
@character is no longer supported for normal databases to avoid conflicts with revision databases.@version of a revision database name will appear in the same format in dependent functions. This can also affect certain tables likeinformation_schema.tablesindirectly, wheretable_info.table_schemawill resolve to the@name when in use.dolt_show_branch_databasessystem variable. WhenSHOW DATABASES;is called, the current revision database using the@format will omit its/counterpart.The
information_schemaand other examples can be found in #10431 integration tests.