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