Ashutosh Chauhan commented on HIVE-10140:

You are right. In existing Hive implementation we got it backwards. Patch looks 
good except for one thing. If I am reading the oracle documentation you pointed 
correctly, than for either of {{ROWS between 10 preceding and 2 preceding}} or 
{{ROWS between 2 preceding and 10 preceding}} your patch will treat them as 
{{ROWS between 10 preceding and 2 preceding}}, whereas oracle seems to consider 
{{ROWS between 2 preceding and 10 preceding}} as illegal expression and throws 
error of similar effect which Hive was throwing (although for opposite case).

> Window boundary is not compared correctly
> -----------------------------------------
>                 Key: HIVE-10140
>                 URL: https://issues.apache.org/jira/browse/HIVE-10140
>             Project: Hive
>          Issue Type: Bug
>          Components: PTF-Windowing
>    Affects Versions: 1.0.0
>            Reporter: Yi Zhang
>            Assignee: Aihua Xu
>            Priority: Minor
>         Attachments: HIVE-10140.patch
> “ROWS between 10 preceding and 2 preceding” is not handled correctly.
> Underlying error: Window range invalid, start boundary is greater than end 
> boundary: window(start=range(10 PRECEDING), end=range(2 PRECEDING))
> If I change it to “2 preceding and 10 preceding”, the syntax works but the 
> results are 0 of course.
> Reason for the function: during analysis, it is sometimes desired to design 
> the window to filter the most recent events, in the case of the events' 
> responses are not available yet. There is a workaround for this, but it is 
> better/more proper to fix the bug. 

This message was sent by Atlassian JIRA

Reply via email to