You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2014/08/07 23:23:12 UTC
[jira] [Updated] (OPTIQ-364) Validator rejects valid "WITH ...
ORDER BY" query
[ https://issues.apache.org/jira/browse/OPTIQ-364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Hyde updated OPTIQ-364:
------------------------------
Description:
The validator rejects a valid "WITH ... ORDER BY" query, giving the error "Aggregate expression is illegal in ORDER BY clause of non-aggregating SELECT". Example:
{code:sql}
with q as (select * from emp)
select count(*) from q group by deptno order by count(*)
{code}
The validator is doing a rewrite on the SqlOrderBy and is adding a wrapper SqlSelect. But its result, "select * from (...) order by count( * )" is not valid. We should instead generate "select * from (...) order by 1".
was:
The validator rejects a valid "WITH ... ORDER BY" query, giving the error "Aggregate expression is illegal in ORDER BY clause of non-aggregating SELECT". Example:
{code:sql}
with q as (select * from emp)
select count(*) from q group by deptno order by count(*)
{code}
The validator is doing a rewrite on the SqlOrderBy and is adding a wrapper SqlSelect. But its result, "select * from (...) order by count(*)" is not valid. We should instead generate "select * from (...) order by 1".
> Validator rejects valid "WITH ... ORDER BY" query
> -------------------------------------------------
>
> Key: OPTIQ-364
> URL: https://issues.apache.org/jira/browse/OPTIQ-364
> Project: Optiq
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
>
> The validator rejects a valid "WITH ... ORDER BY" query, giving the error "Aggregate expression is illegal in ORDER BY clause of non-aggregating SELECT". Example:
> {code:sql}
> with q as (select * from emp)
> select count(*) from q group by deptno order by count(*)
> {code}
> The validator is doing a rewrite on the SqlOrderBy and is adding a wrapper SqlSelect. But its result, "select * from (...) order by count( * )" is not valid. We should instead generate "select * from (...) order by 1".
--
This message was sent by Atlassian JIRA
(v6.2#6252)