apache / apache/arrow

[Python] Error thrown when multiplying decimal numbers

Open
#43,252 10 comments 0 reactions 0 assignees View on GitHub
Component: Python Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the bug, including details regarding any error messages, version, and platform.

### MCVE
```python
>>> import pyarrow as pa
>>> import pyarrow.compute
>>> import numpy as np
>>> pi = pa.compute.cast(np.pi, pa.decimal128(38, 10))
>>> e = pa.compute.cast(np.e, pa.decimal128(38, 10))
>>> pa.compute.multiply(pi, e)

---------------------------------------------------------------------------
ArrowInvalid Traceback (most recent call last)

3 pi = pa.compute.cast(np.pi, pa.decimal128(38, 10))
4 e = pa.compute.cast(np.e, pa.decimal128(38, 10))
----> 5 pa.compute.multiply(pi, e)

File /opt/python/envs/dev310/lib/python3.10/site-packages/pyarrow/compute.py:246, in _make_generic_wrapper..wrapper(memory_pool, *args)
244 if args and isinstance(args[0], Expression):
245 return Expression._call(func_name, list(args))
--> 246 return func.call(args, None, memory_pool)

File /opt/python/envs/dev310/lib/python3.10/site-packages/pyarrow/_compute.pyx:385, in pyarrow._compute.Function.call()

File /opt/python/envs/dev310/lib/python3.10/site-packages/pyarrow/error.pxi:154, in pyarrow.lib.pyarrow_internal_check_status()

File /opt/python/envs/dev310/lib/python3.10/site-packages/pyarrow/error.pxi:91, in pyarrow.lib.check_status()

ArrowInvalid: Decimal precision out of range [1, 38]: 77
```

```
python: 3.10.14
pyarrow: 16.1.0
platform: linux-64 (ubuntu)
```

### Component(s)

Python

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.