[
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)