You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2014/09/25 19:51:37 UTC
[jira] [Created] (DRILL-1450) Window function when window
definition does not have order by clause would hit assertion error.
Jinfeng Ni created DRILL-1450:
---------------------------------
Summary: Window function when window definition does not have order by clause would hit assertion error.
Key: DRILL-1450
URL: https://issues.apache.org/jira/browse/DRILL-1450
Project: Apache Drill
Issue Type: Bug
Reporter: Jinfeng Ni
This query will hit as
Q1:
select sum(position_id) over w from cp.`employee.json` window w as ( partition by position_id)
Stack trace:
java.lang.AssertionError
at org.eigenbase.sql.validate.SqlValidatorUtil.lookup(SqlValidatorUtil.java:242) ~[optiq-core-0.9-drill-r3.jar:na]
at org.eigenbase.sql.SqlIdentifier.getMonotonicity(SqlIdentifier.java:261) ~[optiq-core-0.9-drill-r3.jar:na]
at org.eigenbase.sql.validate.SelectScope.getMonotonicity(SelectScope.java:149) ~[optiq-core-0.9-drill-r3.jar:na]
at org.eigenbase.sql.SqlWindow.isTableSorted(SqlWindow.java:340) ~[optiq-core-0.9-drill-r3.jar:na]
at org.eigenbase.sql.SqlWindow.validate(SqlWindow.java:561) ~[optiq-core-0.9-drill-r3.jar:na]
The cause of this issue is the star column in schema-less system. Drill currently will by default add "*" to a schema-less table. In optiq, * would be expanded to a list of regular columns if table is schema-aware, but does not expand for schema-less table (That's the behavior starting from optiq 0.9-drill-r2). That would cause issue in some optiq code logic, since it does not expect * ( should already be expanded).
For Q1, we could remove the logic of adding * by default to schema-less table, and it would work fine. However, if the query explicitly ask for *, then still, run into similar problem:
Q2:
select *, sum(position_id) over w from cp.`employee.json` window w as ( partition by position_id)
Therefore, the fix had better to be in Optiq.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)