fix(schema): preserve quoted column name parts - #2735
Open
gudcks0305 wants to merge 1 commit into
Open
gudcks0305 wants to merge 1 commit into
gudcks0305 wants to merge 1 commit into
Conversation
This branch has not been deployed
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.
Column(String)strips quoting from the complete qualified name before splitting it, corrupting individually quoted components:Split qualified names at dots outside quoted components and preserve each component's representation. Keep already-separated column components intact while retaining the existing BigQuery whole-quoted namespace behavior.
Regression coverage includes mixed quoting, quoted dots and escaped delimiters, constructor/setter paths and AST getters, splitting-off controls, PostgreSQL identifiers, and BigQuery namespaces.
Validation on macOS with JDK 17:
Regression tests fail on the unchanged upstream base, then pass with the fix.
Focused schema/PostgreSQL/BigQuery tests: 162 tests, zero failures/errors, one existing skip.
./gradlew check --no-daemon --no-build-cache: 9,328 tests, zero failures/errors, 25 existing skips; grammar ambiguity, formatting, static analysis, and coverage checks pass.mvn --batch-mode --no-transfer-progress -Dmaven.javadoc.disableNoFonts=false verify: 9,310 tests, zero failures/errors, 25 existing skips. Includes Javadoc generation; the CLI option is the JDK 17 workaround documented in the existing POM.JMH 1.37, current-version SQL corpus: baseline and patch completed sequentially with three forks, two 10-second warmups and five 1-second measurements per fork. Results are mean ± 99.9% error, in ms/op:
-XX:-UseJVMCICompiler)Fork variation and overlapping intervals leave the performance comparison inconclusive. The C2 point estimate is 18.6% slower; these measurements do not establish either an improvement or absence of regression. A steadier environment is needed for a definitive comparison.
Validation used a temporary worktree at upstream commit
4acc89ff, with both changed files byte-identical to this commit, after slow build-artifact hashing in the Documents checkout.AI assistance: implementation and independent review were performed with AI coding agents. The listed checks were executed locally.
Fixes #2734