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

ASF GitHub Bot commented on TAJO-1793:
--------------------------------------

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

    https://github.com/apache/tajo/pull/965#discussion_r55156791
  
    --- Diff: tajo-core/src/main/java/org/apache/tajo/querymaster/Query.java ---
    @@ -402,6 +403,39 @@ public QueryState getSynchronizedState() {
         }
       }
     
    +  public boolean hasUnionPlan() throws Exception {
    +    boolean result = false;
    +
    +    // During executing UNION statement or UNION ALL statement, the 
terminal block doesn't have join plan and has
    +    // two more child blocks. In above case, Tajo should summarize result 
TableStats from all child stages.
    +    ExecutionBlock terminalBlock = plan.getTerminalBlock();
    +    terminalBlock.setPlan(terminalBlock.getPlan());
    +    if (plan.getChilds(terminalBlock.getId()).size() >= 2) {
    +      result = true;
    +    }
    +    return result;
    +  }
    +
    +  public TableStats computeChildResultStats() throws Exception {
    --- End diff --
    
    A better implementation exists at Stage.computeStatFromUnionBlock(). It 
would be better to move this method to StatisticsUtil.


> result row count unmatched for UNION ALL 
> -----------------------------------------
>
>                 Key: TAJO-1793
>                 URL: https://issues.apache.org/jira/browse/TAJO-1793
>             Project: Tajo
>          Issue Type: Bug
>          Components: QueryMaster
>    Affects Versions: 0.11.0
>         Environment: single node on Macbook
>            Reporter: Youngkyong Ko
>            Assignee: Jaehwa Jung
>            Priority: Critical
>             Fix For: 0.12.0, 0.11.2
>
>
> In UNION ALL, result record count is presented wrong. 
> default> select * from test1;
> c1
> -------------------------------
> 1
> 2
> (2 rows, 0.027 sec, 4 B selected)
> default> select * from test2;
> c1
> -------------------------------
> 2
> 3
> 4
> (3 rows, 0.011 sec, 6 B selected)
> default> select c1 from test1 union all select c1 from test2;
> Progress: 100%, response time: 0.458 sec
> c1
> -------------------------------
> 1
> 2
> 2
> 3
> 4
> (2 rows, 0.458 sec, 10 B selected)
> ==> SHOULD BE "5 rows" 
> BTW, it is OK in case of  UNION . 
> default> select c1 from test1 union  select c1 from test2;
> Progress: 100%, response time: 0.241 sec
> c1
> -------------------------------
> 2
> 1
> 3
> 4
> (4 rows, 0.241 sec, 8 B selected)



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

Reply via email to