goutamadwant opened a new pull request, #12318:
URL: https://github.com/apache/seatunnel/pull/12318

   <!-- PR title: [Fix][Transform-V2] Preserve exact numeric comparisons in SQL 
predicates -->
   
   ### Purpose of this pull request
   
   Fixes #12317.
   
   Preserve integral and DECIMAL precision in SQL comparisons and numeric 
IN/NOT IN checks. Integral operands use `Long.compare`; decimal operands reuse 
`NumericFunction.toBigDecimal` and `BigDecimal.compareTo`. Add regression 
coverage for comparison operators, membership, CASE expressions and 
floating-point compatibility.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. A BIGINT value of `9007199254740993` no longer matches `WHERE a = 
9007199254740992`. Precise DECIMAL comparisons also stop collapsing distinct 
values through double conversion.
   
   Corrected predicates may select different rows. Review affected predicates 
and previously written data. FLOAT/DOUBLE and existing NULL behavior remain 
unchanged. No options, defaults, public APIs, schemas or state formats change. 
EN/ZH documentation and upgrade notes are included. The defect was verified on 
unreleased dev; released-version coverage has not been established.
   
   ### How was this patch tested?
   
   - All 318 new regression cases pass on Java 8 and Java 11. The suite exposes 
wrong-result failures against unchanged production code.
   - Full transform suite: 1,475 cases passed on each JDK on base 
`0d9f9e2303da`.
   - Root `./mvnw -q -DskipTests verify` and Spotless passed on Java 11 on that 
base.
   - After rebasing onto `f4a9665e8457`, all 486 affected SQL tests and 
formatting checks passed on Java 8 and Java 11. Production and test changes are 
unchanged from the broader validation.
   - The initial broader Java 8 run hit an unrelated Python executable-path 
mismatch. Aligning PATH resolved it; all transform tests were rerun. Only an 
already-passing dependency date/time performance method was omitted from that 
retry. Java 11 had no exclusions.
   - Docker-backed E2E tests were not run.
   
   Focused regression command:
   
   ```sh
   ./mvnw -B -pl seatunnel-transforms-v2 -am package \
     -Dtest=SQLNumericComparisonTest -Dsurefire.failIfNoSpecifiedTests=false 
-Dskip.ui=true
   ```
   
   ### Check list
   
   - [x] No new JAR dependencies or license notices required.
   - [x] English and Chinese documentation updated.
   - [x] `incompatible-changes.md` updated in both languages.
   - [x] Connector checklist not applicable: no connector code, registration, 
distribution dependencies or plugin configuration changed.
   


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