peterxcli opened a new pull request, #4901:
URL: https://github.com/apache/datafusion-comet/pull/4901

   ## Which issue does this PR close?
   
   Closes: https://github.com/apache/datafusion-comet/issues/3096.
   
   ## Rationale for this change
   
   This adds support for Spark's `divide_dt_interval` expression, allowing 
DayTime interval division to execute within Comet through the JVM codegen 
dispatcher instead of falling back to Spark.
   
   Using Spark's generated code preserves Spark-compatible rounding, null 
handling, divide-by-zero errors, and overflow behavior.
   
   ## What changes are included in this PR?
   
   - Register `DivideDTInterval` with the JVM codegen dispatcher.
   - Add `DayTimeIntervalType` input support using Arrow `DurationVector`.
   - Add DayTime interval literal serialization as microsecond durations.
   - Support DayTime interval values in top-level and nested codegen inputs.
   - Update the expression support documentation.
   - Add SQL coverage for byte, short, integer, long, float, double, and 
decimal divisors.
   - Cover interval literals, nulls, half-up microsecond rounding, negative 
values, division by zero, and the `Long.MinValue / -1` overflow case.
   
   ## How are these changes tested?
   
   - `rustup run 1.94.0 cargo fmt --all -- --check`
   - `rustup run 1.94.0 cargo check -p datafusion-comet`
   - `rustup run 1.94.0 cargo build -p datafusion-comet`
   - `./mvnw test -Pspark-3.5 -Pscala-2.12 -Dtest=none 
-Dsuites="org.apache.comet.CometSqlFileTestSuite divide_dt_interval"`
   
   The focused SQL suite completed successfully with one test run and no 
failures.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to