[
https://issues.apache.org/jira/browse/CALCITE-3751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17021500#comment-17021500
]
Rui Wang commented on CALCITE-3751:
-----------------------------------
I tried to debug this a bit. The debugger lost a track of how the problematic
SQL generation after
{code:java}
// CalcitePrepare.java#355
Enumerable<T> enumerable = bindable.bind(dataContext);
{code}
Basically after this line, the next jump stops at the place where the order by
is already generated inside the sub-query. I start to guess that the sql
generation happened in JdbcTable.java
> JDBC adapter wrongly pushes ORDER BY into sub-query
> ---------------------------------------------------
>
> Key: CALCITE-3751
> URL: https://issues.apache.org/jira/browse/CALCITE-3751
> Project: Calcite
> Issue Type: Bug
> Components: jdbc-adapter
> Reporter: Julian Hyde
> Priority: Major
>
> JDBC adapter wrongly pushes ORDER BY into sub-query. When I run
> {code:java}
> select deptno, job, sum(sal)
> from scott.emp
> group by deptno, job
> order by 1,2;
> {code}
> against the hsqldb database via the JDBC adapter I get the error
> {noformat}
> Error: Error while executing SQL "select deptno, job, sum(sal) from scott.emp
> group by deptno, job order by 1,2": While executing SQL [SELECT "DEPTNO",
> "JOB", SUM("SAL")
> FROM (SELECT "JOB", "DEPTNO", SUM("SAL")
> FROM "SCOTT"."EMP"
> GROUP BY "JOB", "DEPTNO"
> ORDER BY "DEPTNO" NULLS LAST, "JOB" NULLS LAST) AS "t0"] on JDBC sub-schema
> (state=,code=0)
> Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object
> not found: SAL
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> {noformat}
> Note that ORDER BY is inside a sub-query, which I presume is invalid SQL for
> hsqldb (and most other DBs).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)