drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4476) Enhance Union-All operator for dealing with empty left input or empty both inputs
Date Wed, 09 Mar 2016 22:01:41 GMT

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

ASF GitHub Bot commented on DRILL-4476:
---------------------------------------

Github user hsuanyi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/407#discussion_r55597867
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/union/UnionAllRecordBatch.java
---
    @@ -294,13 +313,41 @@ public UnionAllInput(UnionAllRecordBatch unionAllRecordBatch, RecordBatch
left,
           rightSide = new OneSideInput(right);
         }
     
    +    private boolean isBothSideEmpty() {
    +      return leftIsFinish && rightIsFinish;
    +    }
    +
         public IterOutcome nextBatch() throws SchemaChangeException {
           if(upstream == RecordBatch.IterOutcome.NOT_YET) {
             IterOutcome iterLeft = leftSide.nextBatch();
             switch(iterLeft) {
               case OK_NEW_SCHEMA:
    -            break;
    +            whileLoop:
    +            while(leftSide.getRecordBatch().getRecordCount() == 0) {
    +              iterLeft = leftSide.nextBatch();
    +
    +              switch(iterLeft) {
    +                case STOP:
    +                case OUT_OF_MEMORY:
    +                  return iterLeft;
    +
    +                case NONE:
    --- End diff --
    
    The while is for the case where the first few batches are empty and then union-all receive
NONE.
    
    So we need to replicate this logic to right side too.


> Enhance Union-All operator for dealing with empty left input or empty both inputs
> ---------------------------------------------------------------------------------
>
>                 Key: DRILL-4476
>                 URL: https://issues.apache.org/jira/browse/DRILL-4476
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Relational Operators
>            Reporter: Sean Hsuan-Yi Chu
>            Assignee: Sean Hsuan-Yi Chu
>
> Union-All operator does not deal with the situation where left side comes from empty
source.
> Due to DRILL-2288's enhancement for empty sources, Union-All operator now can be allowed
to support this scenario.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message