terrymanu commented on PR #38895:
URL: https://github.com/apache/shardingsphere/pull/38895#issuecomment-4778576657

   ### Summary
   
   **Review Result: Mergeable**
   
   **Reason:** The PR follows the existing Oracle parser style: the lexer 
grammar remains declarative, no Java action/predicate is added to `.g4`, and 
`OracleLexer` remains a thin wrapper. The change adds focused Oracle 
alternative quoted literal support, keeps parameter marker counting correct 
when `?` appears inside the literal text, and includes direct parser IT 
coverage for the supported scenarios.
   
   ### Evidence
   
   - 
`parser/sql/engine/dialect/oracle/src/main/antlr4/imports/oracle/Literals.g4` 
adds `ALTERNATIVE_QUOTED_TEXT` as ordinary lexer alternatives, including the 
paired bracket cases and the right-delimiter self-closing cases needed by this 
PR.
   - 
`parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/OracleStatementVisitor.java`
 converts alternative quoted literal text into the expected string literal 
value and skips alternative quoted literal contents while counting `?` 
parameter markers.
   - Parser IT fixtures cover:
     - `nq'[national text]'`
     - `q']right delimiter]'`
     - `q'[John's ?]' AS content, ? AS status`
   
   The implementation does not change shared parser infrastructure, public 
APIs, SPI contracts, generated resources, dependencies, packaging, or 
distribution metadata.
   
   ### Review Details
   
   **Reviewed Scope:** Oracle SQL parser changes in:
   - 
`parser/sql/engine/dialect/oracle/src/main/antlr4/imports/oracle/Literals.g4`
   - 
`parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/engine/oracle/visitor/statement/OracleStatementVisitor.java`
   - `test/it/parser/src/main/resources/sql/supported/dml/select.xml`
   - `test/it/parser/src/main/resources/case/dml/select.xml`
   
   Target dialect: Oracle. No Oracle branch dialect is listed in the repository 
guidance, and the change is confined to Oracle parser files.
   
   Reviewed head: `4a6d99b`; local merge-base: `7ca70b5`.
   
   **Not Reviewed Scope:** Full GitHub Actions logs, Proxy/JDBC runtime 
behavior, release packaging, and distribution artifacts were not reviewed 
because this PR only changes Oracle SQL parser behavior and parser IT fixtures.
   
   **Verification:**
   - `./mvnw spotless:apply -Pcheck -T1C`: exit 0
   - `./mvnw checkstyle:check -Pcheck -T1C`: exit 0
   - `./mvnw -pl test/it/parser -am -DskipITs -Dspotless.skip=true 
-Dtest=org.apache.shardingsphere.test.it.sql.parser.oracle.InternalOracleParserIT
 -Dsurefire.failIfNoSpecifiedTests=false test`: exit 0
   
   **Release Note / User Docs:** Not required. This is a narrow Oracle parser 
compatibility enhancement and does not introduce user configuration, migration 
steps, API/SPI changes, or operational behavior changes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to