[ 
https://issues.apache.org/jira/browse/HIVE-15498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aihua Xu updated HIVE-15498:
----------------------------
    Description: 
Currently {{sum() over (partition by a)}} without order by is defaulted 
windowing to RangeBoundarySpec while  {{sum() over (partition by a order by 
c)}} is defaulted to ValueBoundarySpec. It's not consistent and the user gets 
confused of the switch from "rows between" to "range between" by adding "order 
by c" clause.

>From the comment 
{noformat}
  /*
   * - A Window Frame that has only the /start/boundary, then it is interpreted 
as:
         BETWEEN <start boundary> AND CURRENT ROW
   * - A Window Specification with an Order Specification and no Window
   *   Frame is interpreted as:
         ROW BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
   * - A Window Specification with no Order and no Window Frame is interpreted 
as:
         ROW BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
   */
{noformat}
We intended to set as "row between" (RangeBoundarySpec), not "range between" 
(ValueBoundarySpec). 


  was:
Currently {{sum() over (partition by a)}} without order by is defaulted 
windowing to RangeBoundarySpec while  {{sum() over (partition by a order by 
c)}} is defaulted to ValueBoundarySpec.

>From the comment 
{noformat}
  /*
   * - A Window Frame that has only the /start/boundary, then it is interpreted 
as:
         BETWEEN <start boundary> AND CURRENT ROW
   * - A Window Specification with an Order Specification and no Window
   *   Frame is interpreted as:
         ROW BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
   * - A Window Specification with no Order and no Window Frame is interpreted 
as:
         ROW BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
   */
{noformat}
We intended to set as "row between" (RangeBoundarySpec), not "range between" 
(ValueBoundarySpec). 



> sum() over (order by c) should default the windowing spec to RangeBoundarySpec
> ------------------------------------------------------------------------------
>
>                 Key: HIVE-15498
>                 URL: https://issues.apache.org/jira/browse/HIVE-15498
>             Project: Hive
>          Issue Type: Bug
>          Components: PTF-Windowing
>    Affects Versions: 2.1.0
>            Reporter: Aihua Xu
>            Assignee: Aihua Xu
>         Attachments: HIVE-15498.1.patch
>
>
> Currently {{sum() over (partition by a)}} without order by is defaulted 
> windowing to RangeBoundarySpec while  {{sum() over (partition by a order by 
> c)}} is defaulted to ValueBoundarySpec. It's not consistent and the user gets 
> confused of the switch from "rows between" to "range between" by adding 
> "order by c" clause.
> From the comment 
> {noformat}
>   /*
>    * - A Window Frame that has only the /start/boundary, then it is 
> interpreted as:
>          BETWEEN <start boundary> AND CURRENT ROW
>    * - A Window Specification with an Order Specification and no Window
>    *   Frame is interpreted as:
>          ROW BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
>    * - A Window Specification with no Order and no Window Frame is 
> interpreted as:
>          ROW BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
>    */
> {noformat}
> We intended to set as "row between" (RangeBoundarySpec), not "range between" 
> (ValueBoundarySpec). 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to