peterxcli opened a new pull request, #5169: URL: https://github.com/apache/datafusion-comet/pull/5169
## Which issue does this PR close? Closes #5072. ## Rationale for this change Several native ANSI decimal paths returned plain Arrow errors. Those errors bypassed Comet's structured Spark error conversion and surfaced as generic exceptions without Spark's error class, SQLSTATE, or query context. ## What changes are included in this PR? - Return typed `SparkError` variants for wide-decimal overflow, decimal division by zero, integral division overflow, and decimal-to-decimal cast overflow. - Preserve query context when `CheckOverflow` is skipped or when an outer `Cast` evaluates a failing child expression. - Remove the decimal-cast raw Arrow error accommodation and add Rust and Spark regressions that compare the Spark error class, SQLSTATE, and query context. ## How are these changes tested? - `cd native && cargo test -p datafusion-comet-spark-expr returns_spark_error` - `cd native && cargo fmt --all -- --check` - `make core` - Spark 4.1.2 with JDK 17: focused `CometExpressionSuite` tests for ANSI decimal division by zero and wide-decimal overflow, plus the `CometCastSuite` decimal precision/scale cast test. - `./mvnw spotless:check` -- 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]
