You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2019/09/10 07:37:00 UTC
[jira] [Created] (ARROW-6506) [C++] Validation of ExtensionType
with nested type fails
Joris Van den Bossche created ARROW-6506:
--------------------------------------------
Summary: [C++] Validation of ExtensionType with nested type fails
Key: ARROW-6506
URL: https://issues.apache.org/jira/browse/ARROW-6506
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Joris Van den Bossche
Fix For: 0.15.0
A reproducer using the Python ExtensionType:
{code}
class MyStructType(pa.ExtensionType):
def __init__(self):
storage_type = pa.struct([('a', pa.int64()), ('b', pa.int64())])
pa.ExtensionType.__init__(self, storage_type, 'my_struct_type')
def __arrow_ext_serialize__(self):
return b''
@classmethod
def __arrow_ext_deserialize__(self, storage_type, serialized):
return MyStructType()
ty = MyStructType()
storage_array = pa.array([{'a': 1, 'b': 2}], ty.storage_type)
arr = pa.ExtensionArray.from_storage(ty, storage_array)
{code}
then validating this array fails because it expects no children (the extension array itself has no children, only the storage array):
{code}
In [8]: arr.validate()
---------------------------------------------------------------------------
ArrowInvalid Traceback (most recent call last)
<ipython-input-8-13783ce9f25e> in <module>
----> 1 arr.validate()
~/scipy/repos/arrow/python/pyarrow/array.pxi in pyarrow.lib.Array.validate()
~/scipy/repos/arrow/python/pyarrow/error.pxi in pyarrow.lib.check_status()
ArrowInvalid: Expected 0 child arrays in array of type extension<my_struct_type>, got 2
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)