[ 
https://issues.apache.org/jira/browse/ARROW-18205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Weston Pace resolved ARROW-18205.
---------------------------------
    Fix Version/s: 11.0.0
       Resolution: Fixed

Issue resolved by pull request 14558
[https://github.com/apache/arrow/pull/14558]

> [C++] Substrait consumer is not converting right side references correctly on 
> joins
> -----------------------------------------------------------------------------------
>
>                 Key: ARROW-18205
>                 URL: https://issues.apache.org/jira/browse/ARROW-18205
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Weston Pace
>            Assignee: Vibhatha Lakmal Abeykoon
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 11.0.0
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> The Substrait plan expresses a join condition as a logical expression like:
> {{field(0) == field(3)}} where {{0}} and {{3}} are indices into the 
> *combined* schema.  These are then passed down to Acero which expects:
> {{HashJoinNodeOptions(std::vector<FieldRef> in_left_keys, 
> std::vector<FieldRef> in_right_keys)}}
> However, {{in_left_keys}} are field references into the *left* schema and 
> {{in_right_keys}} are field references into the *right* schema.
> In other words, given the above expression ({{field(0) == field(3)}} if the 
> schema were:
> left:
>   key: int32
>   y: int32
>   z: int32
> right:
>   key: int32
>   x: int32
> Then {{in_left_keys}} should be {{field(0)}} (works correct today) and 
> {{in_right_keys}} should be {{field(0)}} (today we are sending in 
> {{field(3)}}).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to