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

Aman Sinha commented on CALCITE-3390:
-------------------------------------

Thanks [~julianhyde] and [[email protected]] for your suggestions.  That's 
pretty much along the lines of what I discussed with [~volodymyr] and have a 
WIP branch here [1].  I am in the process of checking whether it breaks any of 
our tests in Drill before creating a PR. 

[1] 
https://github.com/amansinha100/incubator-calcite/commit/08e74a48932a8458d72cd5550c7c0ea9e677f7f5


> ITEM expression does not get pushed to the right input of left-outer-join
> -------------------------------------------------------------------------
>
>                 Key: CALCITE-3390
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3390
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.21.0
>            Reporter: Aman Sinha
>            Assignee: Aman Sinha
>            Priority: Major
>
> In the following query, the ITEM expression above the Left Outer Join does 
> not get pushed to the right input (null-preserving input) of the join whereas 
> it should since ITEM does not change the nullability.  
> {noformat}
> explain plan without implementation for select tt7.columns[0], tt8.columns[0] 
> as x from tt7 left outer join tt8  on tt7.columns[0] = tt8.columns[0];
>  DrillScreenRel
>   DrillProjectRel(EXPR$0=[$1], x=[ITEM($2, 0)])
>     DrillJoinRel(condition=[=($0, $3)], joinType=[left])
>       DrillProjectRel($f2=[ITEM($0, 0)], ITEM=[ITEM($0, 0)])
>         DrillScanRel(table=[[dfs, tmp, tt7]], groupscan=[EasyGroupScan 
> [selectionRoot=file:/tmp/tt7, numFiles=1, columns=[`columns`[0]], 
> files=[file:/tmp/tt7/0_0_0.csv]]])
>       DrillProjectRel(columns=[$0], $f2=[ITEM($0, 0)])
>         DrillScanRel(table=[[dfs, tmp, tt8]], groupscan=[EasyGroupScan 
> [selectionRoot=file:/tmp/tt8, numFiles=1, columns=[`columns`, `columns`[0]], 
> files=[file:/tmp/tt8/0_0_0.csv]]])
> {noformat}
> From what I can tell, the change in behavior occurred with CALCITE-1753; 
> before that the ITEM was pushed on both sides of the Left Outer Join. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to