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

Victoria Markman edited comment on DRILL-3288 at 6/12/15 10:47 PM:
-------------------------------------------------------------------

I take it back, it can be reproduced without window function:

{code}
select
        avg(j7.c_integer)
from
        `j6/0_0_0.parquet` j6, `j7/0_0_0.parquet` j7
where   j6.c_integer = j7.c_integer
group by
        j6.c_date, j6.c_time, j6.c_integer;
{code}

Plan:
{code}
| 00-00    Screen
00-01      Project(EXPR$0=[CAST(/(CastHigh(CASE(=($4, 0), null, $3)), $4)):ANY 
NOT NULL])
00-02        HashAgg(group=[{0, 1, 2}], agg#0=[$SUM0($3)], agg#1=[COUNT($3)])
00-03          MergeJoin(condition=[=($2, $3)], joinType=[inner])
00-05            SelectionVectorRemover
00-07              Sort(sort0=[$2], dir0=[ASC])
00-09                Project(c_date=[$1], c_time=[$2], c_integer=[$0])
00-11                  Scan(groupscan=[ParquetGroupScan 
[entries=[ReadEntryWithPath 
[path=maprfs:///drill/testdata/subqueries/j6/0_0_0.parquet]], 
selectionRoot=/drill/testdata/subqueries/j6/0_0_0.parquet, numFiles=1, 
columns=[`c_date`, `c_time`, `c_integer`]]])
00-04            Project(c_integer0=[$0])
00-06              SelectionVectorRemover
00-08                Sort(sort0=[$0], dir0=[ASC])
00-10                  Scan(groupscan=[ParquetGroupScan 
[entries=[ReadEntryWithPath 
[path=maprfs:///drill/testdata/subqueries/j7/0_0_0.parquet]], 
selectionRoot=/drill/testdata/subqueries/j7/0_0_0.parquet, numFiles=1, 
columns=[`c_integer`]]])
{code}

It's possible that this is regression of a bug that has already been fixed.


was (Author: vicky):
I take it back, it can be reproduced without window function:

{code}
select
        avg(j7.c_integer)
from
        `j6/0_0_0.parquet` j6, `j7/0_0_0.parquet` j7
where   j6.c_integer = j7.c_integer
group by
        j6.c_date, j6.c_time, j6.c_integer;
{code}

> False "Hash aggregate does not support schema changes" error message in a 
> query with merge join and hash aggregation
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-3288
>                 URL: https://issues.apache.org/jira/browse/DRILL-3288
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Relational Operators
>    Affects Versions: 1.0.0
>            Reporter: Victoria Markman
>            Assignee: Chris Westin
>
> This error seems to be happening only when you have both window and regular 
> aggregate function in a query. You will need to disable hash join to 
> reproduce this error: "alter session set `planner.enable_hashjoin` = false"
> Columns in table j6 are all of 'optional' type, columns in j7 are all 
> "required" type. (attached sample for each)
> Here are two queries that are failing for me:
> Query 1 (aggregate function in the having clause):
> {code}
> 0: jdbc:drill:schema=dfs> select
> . . . . . . . . . . . . >         j6.c_integer,
> . . . . . . . . . . . . >         sum(j6.c_integer) over(partition by 
> j6.c_date order by j6.c_time)
> . . . . . . . . . . . . > from
> . . . . . . . . . . . . >         j6, j7
> . . . . . . . . . . . . > where   j6.c_integer = j7.c_integer
> . . . . . . . . . . . . > group by
> . . . . . . . . . . . . >         j6.c_date, j6.c_time, j6.c_integer
> . . . . . . . . . . . . > having
> . . . . . . . . . . . . >         avg(j7.c_integer) > 0;
> java.lang.RuntimeException: java.sql.SQLException: UNSUPPORTED_OPERATION 
> ERROR: Hash aggregate does not support schema changes
> Fragment 0:0
> [Error Id: ed0140d4-244c-4895-bf65-6ea1d085382e on atsqa4-133.qa.lab:31010]
>       at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73)
>       at 
> sqlline.TableOutputFormat$ResizingRowsProvider.next(TableOutputFormat.java:85)
>       at sqlline.TableOutputFormat.print(TableOutputFormat.java:116)
>       at sqlline.SqlLine.print(SqlLine.java:1583)
>       at sqlline.Commands.execute(Commands.java:852)
>       at sqlline.Commands.sql(Commands.java:751)
>       at sqlline.SqlLine.dispatch(SqlLine.java:738)
>       at sqlline.SqlLine.begin(SqlLine.java:612)
>       at sqlline.SqlLine.start(SqlLine.java:366)
>       at sqlline.SqlLine.main(SqlLine.java:259)
> {code}
> Query 2: (window function and aggregate function in projection list):
> {code}
> 0: jdbc:drill:schema=dfs> select
> . . . . . . . . . . . . >         j6.c_integer,
> . . . . . . . . . . . . >         avg(j7.c_integer),
> . . . . . . . . . . . . >         sum(j6.c_integer) over(partition by 
> j6.c_date order by j6.c_time)
> . . . . . . . . . . . . > from    
> . . . . . . . . . . . . >         j6, j7 
> . . . . . . . . . . . . > where   j6.c_integer = j7.c_integer
> . . . . . . . . . . . . > group by 
> . . . . . . . . . . . . >         j6.c_date, j6.c_time, j6.c_integer;
> java.lang.RuntimeException: java.sql.SQLException: UNSUPPORTED_OPERATION 
> ERROR: Hash aggregate does not support schema changes
> Fragment 0:0
> [Error Id: 370188bd-012d-4fc2-a365-fe9e482aaa0f on atsqa4-133.qa.lab:31010]
>       at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73)
>       at 
> sqlline.TableOutputFormat$ResizingRowsProvider.next(TableOutputFormat.java:85)
>       at sqlline.TableOutputFormat.print(TableOutputFormat.java:116)
>       at sqlline.SqlLine.print(SqlLine.java:1583)
>       at sqlline.Commands.execute(Commands.java:852)
>       at sqlline.Commands.sql(Commands.java:751)
>       at sqlline.SqlLine.dispatch(SqlLine.java:738)
>       at sqlline.SqlLine.begin(SqlLine.java:612)
>       at sqlline.SqlLine.start(SqlLine.java:366)
>       at sqlline.SqlLine.main(SqlLine.java:259)
> {code}



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

Reply via email to