FlyingZC commented on PR #39711:
URL: https://github.com/apache/shardingsphere/pull/39711#issuecomment-5523047436

   ### Result                                                                   
                                                                             
[0/1127]
   
     **Review Result: Mergeable**
   
     PR [#39711](https://github.com/apache/shardingsphere/pull/39711) 
completely implements Oracle DML error logging across the parser, statement 
model, and binder
     layers. No blocking code-correctness issues were found.
   
     ### Evidence
   
     - `ErrorLoggingSegment` is defined in the Apache parser statement core and 
retains the SQL range, error table, tag expression, and reject limit: 
`parser/sql/
     
statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/segment/dml/ErrorLoggingSegment.java:31`.
     - INSERT, UPDATE, DELETE, and MERGE statements expose the model through 
`Optional<ErrorLoggingSegment>` while preserving existing builder compatibility.
     - The Oracle visitor constructs the segment for INSERT, UPDATE, DELETE, 
and MERGE: 
`parser/sql/engine/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/
     
parser/engine/oracle/visitor/statement/type/OracleDMLStatementVisitor.java:287`.
     - `visitMultiTableElement` preserves the table, columns, values, 
insert-select clause, and error logging clause of every nested INSERT, 
preventing the visitor
     from dropping syntax already accepted by the grammar: 
`OracleDMLStatementVisitor.java:602`.
     - The Insert, Update, and Delete binders preserve error logging when 
copying statements. MERGE currently has no dedicated copy binder, so 
`DMLStatementBindEngine`
     retains the original statement.
     - Visitor tests cover all four DML statement types, table/tag/reject-limit 
values, parameter indexes, and two multi-table elements. Parser IT covers 
positive
     segment assertions for all four statement types and verifies absence for 
existing cases. Binder tests cover all three applicable copy paths.
     - The model and clause placement are consistent with Oracle’s official 
[INSERT](https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/INSERT.html),
     
[UPDATE](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/UPDATE.html),
 [DELETE](https://docs.oracle.com/en/database/oracle/oracle-database/26/
     sqlrf/DELETE.html), and 
[MERGE](https://docs.oracle.com/en/database/oracle/oracle-database/26/sqlrf/MERGE.html)
 documentation.
     - Verification passed: 5 visitor tests, 13 binder tests, and 1,950 Oracle 
Parser IT cases. File-scoped Spotless and Checkstyle checks passed. The full 
Unit/IT
     gate completed with `status=completed` and `failures_found=0`.
   
     ### Coverage
   
     - Review type: Public PR Code Correctness Review.
     - Public head: `4b3549ff8fcc033bf6b5a3e4bfb23fddcf6b4330`.
     - Public base: `63a188eacaac9a5779b9ddda4e6f8af56e62546d`; merge base: 
`5bf860b8f96b5b37f2abc61a985992a5c9ff66d8`.
     - The GitHub `/files` response exactly matches the local triple-dot scope: 
31 files, 1 commit, 504 additions, and 8 deletions.
     - The review covered all statement-model, Oracle visitor, binder-copy, 
visitor-test, binder-test, Parser IT JAXB/assertion, and SQL case resource 
changes.
     - Root-cause, blast-radius, tests/runtime, and final convergence passes 
were completed. The final head, file-list hash, and discussion state remained 
unchanged,
     with no unresolved evidence gaps.
     - Oracle is the target trunk dialect. The PR does not modify grammar or 
introduce DM, GoldenDB, SphereEx, rewrite, or other downstream product code.
     - This result covers code correctness only. CI was not queried or 
evaluated, as required by Code Correctness Review mode.


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