[ 
https://issues.apache.org/jira/browse/ARROW-12011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17306243#comment-17306243
 ] 

David Li commented on ARROW-12011:
----------------------------------

Ah, good point about the linked issue. I don't see any other restrictions.

It's worth seeing if an updated date helps, though I saw issues like 
[https://github.com/HowardHinnant/date/issues/436] suggesting that overflow is 
really the user's responsibility. (It is a little odd in that while the 
documentation states year::ok is always true, that's not actually the case as 
implemented.)

> [C++][Python] Crashes and incorrect results when converting large integers to 
> dates
> -----------------------------------------------------------------------------------
>
>                 Key: ARROW-12011
>                 URL: https://issues.apache.org/jira/browse/ARROW-12011
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++, Python
>    Affects Versions: 3.0.0
>         Environment: OS: Windows 10 Pro (Version 20H2)
> CPU: AMD Ryzen 5 1600 Six-Core Processor 3.20 GHz
> Python: 3.8.8 AMD64
> pyarrow is latest version installed with pip
>            Reporter: Tim Evans
>            Priority: Major
>
> Running this code snippet will cause a crash. This happens for a range of 
> numbers around this one as well:
>  
> {code:java}
> import pyarrow
> date = pyarrow.array([-1448879500], pyarrow.date32())
> print(date)
> {code}
> I don't know where this crash is coming from, so it might be in the C++ code 
> rather than the Python bindings.
> For other extreme numbers you get the wrong result. It looks like something 
> is overflowing. Here is the input and result for a few different examples:
>  * -2000000000 -> 31179-12-27
>  * -1000000000 -> 16574-12-29
>  * 2000000000 -> -27240-01-06
>  * 1000000000 -> -12635-01-03
> I would prefer if these gave errors rather than silently overflowing.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to