[ 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)