You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Praveen Kumar Desabandu (JIRA)" <ji...@apache.org> on 2019/06/14 05:07:00 UTC

[jira] [Commented] (ARROW-5601) [gandiva] Error when projector with a string field

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

Praveen Kumar Desabandu commented on ARROW-5601:
------------------------------------------------

[~sunchenggen] Gandiva does not yet support variable length output (which is what strings would be). Gandiva currently accepts memory allocated by the caller and since caller would not know how much memory to allocate for variable length output, we would need a callback mechanism to increase the memory allocated if it is not enough.

We are planning to pick this up soon - will keep you posted.

> [gandiva] Error when projector with a string field
> --------------------------------------------------
>
>                 Key: ARROW-5601
>                 URL: https://issues.apache.org/jira/browse/ARROW-5601
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++ - Gandiva
>    Affects Versions: 0.13.0
>         Environment: Ubuntu 16.04 x86_64
>            Reporter: Sun Chenggen
>            Priority: Major
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> when I try to select a string field by {{gandiva}} projector, it failed with errors.
> {code:python}
> import pandas as pd
> import pyarrow as pa
> from pyarrow import gandiva
> a = pd.DataFrame({'col1': ["asdf", "abc"]})
> tb = pa.Table.from_pandas(a)
> teb = gandiva.TreeExprBuilder()
> col1 = tb.schema[0]
> node1 = teb.make_field(col1)
> exp1 = teb.make_expression(node1, col1)
> gandiva.make_projector(tb.schema, [exp1], pa.default_memory_pool())
> {code}
> Run the code above, it crashs with error like this:
> {code:bash}
> python: ../lib/IR/Instructions.cpp:1202: void llvm::StoreInst::AssertOK(): Assertion `getOperand(0)->getType() == cast<PointerType>(getOperand(1)->getType())->getElementType() && "Ptr must be a pointer to Val type!"' failed. Aborted
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)