Repository navigation
Conversation
wozhenbang2004
marked this pull request as ready for review
October 30, 2026 17:41
Contributor
|
I cannot merge this because it has a conflict and you have done something to prevent me from merging a conflict resolution? |
Contributor
|
Thank you! |
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.
Fixes #4238.
The MySQL compatibility parser compares schema and table qualifiers in
ON DUPLICATE KEY UPDATEassignments withString.equals, even whenCASE_INSENSITIVE_IDENTIFIERS=TRUEis enabled. UseDatabase.equalsIdentifiersfor both checks so they follow the database's identifier rules while preserving case-sensitive behavior.The regression test uses isolated in-memory databases with the setting enabled and disabled. It covers quoted and unquoted schema/table qualifiers, rejects genuinely different names, and checks update counts and the resulting row value.
Validation
The unchanged official GitHub Actions workflow (
./build.sh jar testCI) passes on both Temurin JDK 11 and JDK 17 for headcf98568: https://github.com/wozhenbang2004/h2database/actions/runs/41052326071.Official
compilebuild passes on JDK 21, including a build with Java 11 source/target settings.TestDuplicateKeyUpdate,TestCompatibility, and the completeTestScriptSQL suite pass with assertions enabled, including on the Java 11-targeted build.JaCoCo reports full instruction and branch coverage on both changed production lines.
CheckJavadocandgit diff --checkpass.CheckTextFilesandSpellCheckerfail identically on this patch and on unmodified6f9a229: existing copyright/line-length findings and 47 existing unknown words, respectively. No unrelated source or dictionary changes are included.The full
TestAll/jar testCIsuite was not run locally. Java 11-targeted classes were tested on JDK 21, not on a Java 11 runtime.License
I am contributing the changes in this pull request to H2 for distribution multiple-licensed under the MPL 2.0 and the EPL 1.0 (https://h2database.com/html/license.html).