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

Volodymyr Vysotskyi commented on CALCITE-2206:
----------------------------------------------

Looks like the problem in the {{JdbcProjectRule}}. I suppose the bug is in the 
predicate:
{code:java}
return out.dialect.supportsWindowFunctions()
    && !RexOver.containsOver(project.getProjects(), null);
{code}
Disjunction should be used instead of conjunction, so if 
{{supportsWindowFunctions}} is true or project does not contain over, a rule 
can be applied.

Created CALCITE-2253 to fix it.

> JDBC adapter incorrectly pushes windowed aggregates down to HSQLDB
> ------------------------------------------------------------------
>
>                 Key: CALCITE-2206
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2206
>             Project: Calcite
>          Issue Type: Bug
>          Components: jdbc-adapter
>    Affects Versions: 1.15.0
>            Reporter: Pavel Gubin
>            Assignee: Julian Hyde
>            Priority: Major
>             Fix For: 1.17.0
>
>
> JDBC adapter incorrectly pushes windowed aggregates down to HSQLDB. Queries 
> containing window functions fail when using HSQLDB (or any other DB that does 
> not support window functions) because the optimizer converts them to native 
> SQL with window functions which are not supported by HSQLDB. For example:
> {code:sql}
> select "store_id", "product_id", sum("unit_sales") unit_sales, row_number() 
> over (
> partition by "store_id" order by sum("unit_sales") desc
> ) row_num
> from "sales_fact_1998"
> group by "store_id", "product_id"
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to