findepi commented on issue #17534:
URL: https://github.com/apache/datafusion/issues/17534#issuecomment-3284162376
"attempt to multiply with overflow" is a standard Rust check not present in
release builds.:
```
datafusion main$ cargo run --release --bin datafusion-cli -- --command
"SELECT CAST(DATE '9999-12-31' As timestamp);"
Finished `release` profile [optimized] target(s) in 0.21s
Running `target/release/datafusion-cli --command 'SELECT CAST(DATE
'\''9999-12-31'\'' As timestamp);'`
DataFusion CLI v50.0.0
+-------------------------------+
| Utf8("9999-12-31") |
+-------------------------------+
| 1816-03-29T05:56:08.066277376 |
+-------------------------------+
```
However, i believe that DataFusion debug builds should strive to produce
same results as release builds, in particular they should not panic. If silent
overflow is intentional, the code should tell compiler that.
FWIW, numeric multiplication silently overflows in debug builds, does not
panic
```
datafusion main$ cargo run --bin datafusion-cli -- --command "SELECT
10000000000 * 10000000000 * 10000000000;"
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.72s
Running `target/debug/datafusion-cli --command 'SELECT 10000000000 *
10000000000 * 10000000000;'`
DataFusion CLI v50.0.0
+--------------------------------------------------------------+
| Int64(10000000000) * Int64(10000000000) * Int64(10000000000) |
+--------------------------------------------------------------+
| 5076944270305263616 |
+--------------------------------------------------------------+
```
--
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]