Skip to content

power(decimal, -integer) is incorrect #22510

@neilconway

Description

@neilconway

Describe the bug

power with a decimal base and negative integer exponent truncates the result incorrectly.

To Reproduce

DataFusion CLI v53.1.0
> select power(CAST(2 AS DECIMAL(10,0)), -3);
+---------------------------+
| power(Int64(2),Int64(-3)) |
+---------------------------+
| 0                         |
+---------------------------+
1 row(s) fetched.
Elapsed 0.110 seconds.

Expected behavior

This query should return 0.125, which is what Postgres and DuckDB do.

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions