Dave Challis created ARROW-2423: ----------------------------------- Summary: [Python] PyArrow datatypes raise ValueError on equality checks against non-PyArrow objects Key: ARROW-2423 URL: https://issues.apache.org/jira/browse/ARROW-2423 Project: Apache Arrow Issue Type: Bug Components: Python Affects Versions: 0.9.0 Environment: Mac OS High Sierra PyArrow 0.9.0 (py36_1) Python 3.6.3 Reporter: Dave Challis
Checking a PyArrow datatype object for equality with non-PyArrow datatypes causes a `ValueError` to be raised, rather than either returning a True/False value, or returning [NotImplemented|https://docs.python.org/3/library/constants.html#NotImplemented] if the comparison isn't implemented. E.g. attempting to call: {code:java} import pyarrow pyarrow.int32() == 'foo' {code} results in: {code:java} Traceback (most recent call last): File "types.pxi", line 1221, in pyarrow.lib.type_for_alias KeyError: 'foo' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "t.py", line 2, in <module> pyarrow.int32() == 'foo' File "types.pxi", line 90, in pyarrow.lib.DataType.__richcmp__ File "types.pxi", line 113, in pyarrow.lib.DataType.equals File "types.pxi", line 1223, in pyarrow.lib.type_for_alias ValueError: No type alias for foo {code} The expected outcome for the above would be for the comparison to return `False`, as that's the general behaviour for comparisons between objects of different types (e.g. `1 == 'foo'` or `object() == 12.4` both return `False`). -- This message was sent by Atlassian JIRA (v7.6.3#76005)