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

Victoria Markman commented on DRILL-3344:
-----------------------------------------

Verified fixed in 1.1

#Mon Jun 29 17:55:24 EDT 2015
git.commit.id.abbrev=e923ac5

{code}
0: jdbc:drill:schema=dfs> create table tblForView(col_int, col_bigint, 
col_char_2, col_vchar_52, col_tmstmp, col_dt, col_booln, col_dbl, col_tm) as 
select cast(columns[0] as INT), cast(columns[1] as BIGINT),cast(columns[2] as 
CHAR(2)), cast(columns[3] as VARCHAR(52)), cast(columns[4] as TIMESTAMP), 
cast(columns[5] as DATE), cast(columns[6] as BOOLEAN),cast(columns[7] as 
DOUBLE),cast(columns[8] as TIME) from `forPrqView.csv`;
+-----------+----------------------------+
| Fragment  | Number of records written  |
+-----------+----------------------------+
| 0_0       | 30                         |
+-----------+----------------------------+
1 row selected (2.904 seconds)
0: jdbc:drill:schema=dfs>  select max(col_tm) over(), col_char_2 from 
tblForView group by col_char_2;
Error: PARSE ERROR: From line 1, column 12 to line 1, column 17: Expression 
'col_tm' is not being grouped
[Error Id: 5e49ce6c-c99b-4055-acb9-0946d63bd794 on atsqa4-133.qa.lab:31010] 
(state=,code=0)
{code}

> When Group By clause is present, the argument in window function should not 
> refer to any column outside Group By
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-3344
>                 URL: https://issues.apache.org/jira/browse/DRILL-3344
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>    Affects Versions: 1.1.0
>         Environment: 6ebfbb9d0fc0b87b032f5e5d5cb0825f5464426e
>            Reporter: Khurram Faraaz
>            Assignee: Sean Hsuan-Yi Chu
>              Labels: no_verified_test, window_function
>             Fix For: 1.1.0
>
>         Attachments: DRILL-3344.1.patch, forPrqView.csv
>
>
> CTAS
> {code}
> 0: jdbc:drill:schema=dfs.tmp> create table tblForView(col_int, col_bigint, 
> col_char_2, col_vchar_52, col_tmstmp, col_dt, col_booln, col_dbl, col_tm) as 
> select cast(columns[0] as INT), cast(columns[1] as BIGINT),cast(columns[2] as 
> CHAR(2)), cast(columns[3] as VARCHAR(52)), cast(columns[4] as TIMESTAMP), 
> cast(columns[5] as DATE), cast(columns[6] as BOOLEAN),cast(columns[7] as 
> DOUBLE),cast(columns[8] as TIME) from `forPrqView.csv`;
> +-----------+----------------------------+
> | Fragment  | Number of records written  |
> +-----------+----------------------------+
> | 0_0       | 30                         |
> +-----------+----------------------------+
> 1 row selected (0.586 seconds)
> {code}
> Failing query
> {code}
> 0: jdbc:drill:schema=dfs.tmp> select max(col_tm) over(), col_char_2 from 
> tblForView group by col_char_2;
> Error: SYSTEM ERROR: java.lang.AssertionError: Internal error: while 
> converting MAX(`tblForView`.`col_tm`)
> [Error Id: 11afbdc9-d47a-4a52-aa77-40c20ffd2bc6 on centos-03.qa.lab:31010] 
> (state=,code=0)
> {code}
> Stack trace
> {code}
> [Error Id: 11afbdc9-d47a-4a52-aa77-40c20ffd2bc6 on centos-03.qa.lab:31010]
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: 
> java.lang.AssertionError: Internal error: while converting 
> MAX(`tblForView`.`col_tm`)
> [Error Id: 11afbdc9-d47a-4a52-aa77-40c20ffd2bc6 on centos-03.qa.lab:31010]
>         at 
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:522)
>  ~[drill-common-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:738)
>  [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.work.foreman.Foreman$StateSwitch.processEvent(Foreman.java:840)
>  [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.work.foreman.Foreman$StateSwitch.processEvent(Foreman.java:782)
>  [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.common.EventProcessor.sendEvent(EventProcessor.java:73) 
> [drill-common-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.work.foreman.Foreman$StateSwitch.moveToState(Foreman.java:784)
>  [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.work.foreman.Foreman.moveToState(Foreman.java:893) 
> [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:253) 
> [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_45]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_45]
>         at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
> Caused by: org.apache.drill.exec.work.foreman.ForemanException: Unexpected 
> exception during fragment initialization: Internal error: while converting 
> MAX(`tblForView`.`col_tm`)
>         ... 4 common frames omitted
> Caused by: java.lang.AssertionError: Internal error: while converting 
> MAX(`tblForView`.`col_tm`)
>         at org.apache.calcite.util.Util.newInternal(Util.java:790) 
> ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.ReflectiveConvertletTable$2.convertCall(ReflectiveConvertletTable.java:152)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlNodeToRexConverterImpl.convertCall(SqlNodeToRexConverterImpl.java:60)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertOver(SqlToRelConverter.java:1762)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.access$1000(SqlToRelConverter.java:180)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:3938)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.createAggImpl(SqlToRelConverter.java:2521)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertAgg(SqlToRelConverter.java:2342)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:604)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:564)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2741)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:522)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.prepare.PlannerImpl.convert(PlannerImpl.java:198) 
> ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRel(DefaultSqlHandler.java:246)
>  ~[drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:182)
>  ~[drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:178)
>  ~[drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at 
> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:904) 
> [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:242) 
> [drill-java-exec-1.1.0-SNAPSHOT-rebuffed.jar:1.1.0-SNAPSHOT]
>         ... 3 common frames omitted
> Caused by: java.lang.reflect.InvocationTargetException: null
>         at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) 
> ~[na:na]
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.7.0_45]
>         at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
>         at 
> org.apache.calcite.sql2rel.ReflectiveConvertletTable$2.convertCall(ReflectiveConvertletTable.java:142)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         ... 19 common frames omitted
> Caused by: java.lang.AssertionError: null
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.getRootField(SqlToRelConverter.java:3811)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.adjustInputRef(SqlToRelConverter.java:3139)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:3114)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter.access$1400(SqlToRelConverter.java:180)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4062)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3490)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql.SqlIdentifier.accept(SqlIdentifier.java:274) 
> ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:3945)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.StandardConvertletTable.convertExpressionList(StandardConvertletTable.java:833)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         at 
> org.apache.calcite.sql2rel.StandardConvertletTable.convertAggregateFunction(StandardConvertletTable.java:706)
>  ~[calcite-core-1.1.0-drill-r8.jar:1.1.0-drill-r8]
>         ... 23 common frames omitted
> {code}



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

Reply via email to