strongduanmu commented on PR #39231:
URL: https://github.com/apache/shardingsphere/pull/39231#issuecomment-5067980120

   • ### Summary
   
     **Review Result: Mergeable**
   
     Reason: This conclusion covers code correctness only. No code-level 
blocker was found in the Oracle parser/binder scope at latest head 
`fd1d292149613e565684ad0c34f857b71e6a29e4`. CI not reviewed by request.
   
     ### Evidence
   
     - Oracle DML alias and `WHERE CURRENT OF` syntax are covered for 
update/delete, and the visitor preserves `CURRENT OF <cursor>` as a 
`WhereSegment`: `DMLStatement.g4:116`, `DMLStatement.g4:149`, 
`DMLStatement.g4:661`, `OracleDMLStatementVisitor.java:254`,
     `OracleDMLStatementVisitor.java:506`.
     - Oracle `CALL`, create/alter/drop procedure, and SQL collection inside 
PL/SQL bodies flow from grammar into AST visitors: `PLSQL.g4:37`, 
`OracleDMLStatementVisitor.java:230`, `CallStatement.java:34`, 
`OracleDDLStatementVisitor.java:1329`.
     - Binder variable handling runs after table/outer/external table 
resolution, so PL/SQL variables and record field owners are supported while 
existing table-column precedence is preserved: `ColumnSegmentBinder.java:207`, 
`ColumnSegmentBinder.java:229`,
     `ColumnSegmentBinder.java:312`.
     - Test resources cover the new syntax and binding scenarios: Oracle CALL, 
update/delete `CURRENT OF`, and Oracle DML target aliases.
     - The release note includes this parser/binder enhancement: 
`RELEASE-NOTES.md:72`.
   
     ### Review Details
   
     - Review Focus: Code Correctness Review. CI not reviewed by request.
     - Reviewed Scope: latest PR head 
`fd1d292149613e565684ad0c34f857b71e6a29e4`, base `master` / 
`1f1aa6d766d031da6fd911c04654fdaf31b8ee90`, merge-base 
`1f1aa6d766d031da6fd911c04654fdaf31b8ee90`; GitHub `/pulls/39231/files` matched 
the local triple-dot file list,
     with 22 files reviewed. Target dialect: Oracle. Related impact checked: 
shared `CallStatement`, `ColumnSegmentBinder`, and existing 
MySQL/PostgreSQL/Doris CALL AST constructor compatibility. Syntax references 
checked: Oracle official CALL, UPDATE, DELETE, and
     CREATE PROCEDURE documentation.
     - Not Reviewed Scope: GitHub Actions/CI/E2E logs, real Oracle database 
runtime behavior, and full release process.
     - Verification: `./mvnw -pl infra/binder/core 
-Dtest=org.apache.shardingsphere.infra.binder.engine.segment.dml.expression.type.ColumnSegmentBinderTest
 -DskipITs -Dspotless.skip=true test` exit 0, `Tests run: 10, Failures: 0, 
Errors: 0`; `./mvnw -pl parser/
     sql/engine/dialect/oracle -DskipITs -Dspotless.skip=true test` exit 0, 
`BUILD SUCCESS`.
     - Release Note / User Docs: release note is present. No additional user 
documentation is required because this PR does not introduce configuration, 
migration, or user operation semantics.
   


-- 
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