[
https://issues.apache.org/jira/browse/CALCITE-5883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17749358#comment-17749358
]
Julian Hyde commented on CALCITE-5883:
--------------------------------------
I agree that this is a duplicate of 4565. However I'm not sure that either is a
bug.
If your query says 'all rows after this one', and you don't say by what
criteria a row is considered 'after', then Calcite is at liberty to interpret
your query any way it chooses. The current behavior is to treat all rows as
equal (and therefore 'after the current row'), which seems fine to me.
> Calcite ignores window frames when there is no ORDER BY clause
> --------------------------------------------------------------
>
> Key: CALCITE-5883
> URL: https://issues.apache.org/jira/browse/CALCITE-5883
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.35.0
> Reporter: Itiel Sadeh
> Priority: Major
>
> When specifying window frame without an ORDER BY clause, Calcite will ignore
> it and will generate the frame UNBOUNDED PRECEDING to UNBOUNDED FOLLOWING.
> e.g, calcite will translate
> {code:java}
> SELECT sum(x) over(partition by y ROWS between CURRENT ROW and UNBOUNDED
> FOLLOWING) from t
> {code}
> into
> {code:java}
> SELECT sum(x) over(partition by y RANGE between UNBOUNDED FOLLOWING and
> UNBOUNDED FOLLOWING) from t
> {code}
> There is a comment in the offending code (SqlToRelConverter.java:2207) which
> states that
> ??"without ORDER BY, there must be no bracketing"?? . I've tried to find a
> specification like that in the SQL 2003 standard, but didn't find anything to
> that effect.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)