Closed
Description
Describe the bug
Decimals of different precisions and scales are properly rebased when working with Literal
values. Otherwise, they are not rebased, which leads to an error.
To Reproduce
desktop % datafusion-cli
DataFusion CLI v46.0.0
> SELECT 1 * 1.000::DECIMAL(4,3) > 1.2::decimal(2,1);
+--------------------------------------+
| Int64(1) * Float64(1) > Float64(1.2) |
+--------------------------------------+
| false |
+--------------------------------------+
1 row(s) fetched.
Elapsed 0.003 seconds.
> SELECT a * 1.000::DECIMAL(4,3) > 1.2::decimal(2,1) FROM VALUES (1) AS t(a);
Arrow error: Invalid argument error: Invalid comparison operation: Decimal128(20, 0) > Decimal128(25, 3)
>
Expected behavior
No response
Additional context
No response