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]
