-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/20289/#review40523
-----------------------------------------------------------

Ship it!


+1

Thank you for your contribution.
Push it now. :)

- Jung JaeHwa


On April 13, 2014, 7:08 p.m., Hyunsik Choi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/20289/
> -----------------------------------------------------------
> 
> (Updated April 13, 2014, 7:08 p.m.)
> 
> 
> Review request for Tajo.
> 
> 
> Bugs: TAJO-757
>     https://issues.apache.org/jira/browse/TAJO-757
> 
> 
> Repository: tajo
> 
> 
> Description
> -------
> 
> See the title. The object of this issue is to add ANTLR parser rule and 
> algebraic expression for window function.
> 
> According to SQL 2003 standards, BNF for window function is as follows:
> 
> {noformat}
> <window function>    ::=   <window function type> OVER <window name or 
> specification>
> 
> <window function type>    ::= 
>          <rank function type> <left paren> <right paren>
>      |     ROW_NUMBER <left paren> <right paren>
>      |     <aggregate function>
> 
> <rank function type>    ::=   RANK | DENSE_RANK | PERCENT_RANK | CUME_DIST
> 
> <window name or specification>    ::=   <window name> | <in-line window 
> specification>
> 
> <in-line window specification>    ::=   <window specification>
> 
> <window specification>    ::=   <left paren> <window specification details> 
> <right paren>
> 
> <window specification details>    ::= 
>          [ <existing window name> ] [ <window partition clause> ] [ <window 
> order clause> ] [ <window frame clause> ]
> 
> <existing window name>    ::=   <window name>
> 
> <window partition clause>    ::=   PARTITION BY <window partition column 
> reference list>
> 
> <window partition column reference list>    ::=   <window partition column 
> reference> [ { <comma> <window partition column reference> }... ]
> 
> <window partition column reference>    ::=   <column reference> [ <collate 
> clause> ]
> 
> <window order clause>    ::=   ORDER BY <sort specification list>
> 
> <window frame clause>    ::=   <window frame units> <window frame extent> [ 
> <window frame exclusion> ]
> 
> <window frame units>    ::=   ROWS | RANGE
> 
> <window frame extent>    ::=   <window frame start> | <window frame between>
> 
> <window frame start>    ::=   UNBOUNDED PRECEDING | <window frame preceding> 
> | CURRENT ROW
> 
> <window frame preceding>    ::=   <unsigned value specification> PRECEDING
> 
> <window frame between>    ::=   BETWEEN <window frame bound 1> AND <window 
> frame bound 2>
> 
> <window frame bound 1>    ::=   <window frame bound>
> 
> <window frame bound 2>    ::=   <window frame bound>
> 
> <window frame bound>    ::= 
>          <window frame start>
>      |     UNBOUNDED FOLLOWING 
>      |     <window frame following>
> 
> <window frame following>    ::=   <unsigned value specification> FOLLOWING
> 
> <window frame exclusion>    ::= 
>          EXCLUDE CURRENT ROW 
>      |     EXCLUDE GROUP 
>      |     EXCLUDE TIES 
>      |     EXCLUDE NO OTHERS
> {noformat}
> 
> 
> Diffs
> -----
> 
>   tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java 
> 1ca42d7825c6278c859ffe3ec566e81421d88a44 
>   
> tajo-algebra/src/main/java/org/apache/tajo/algebra/GeneralSetFunctionExpr.java
>  d7eb4edf7704a33974052859845d5cd7b2fcba9a 
>   tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 
> 0cb0527ab6af65b3e706ea26b52965d00dedc73d 
>   tajo-algebra/src/main/java/org/apache/tajo/algebra/Window.java PRE-CREATION 
>   tajo-algebra/src/main/java/org/apache/tajo/algebra/WindowFunctionExpr.java 
> PRE-CREATION 
>   tajo-algebra/src/main/java/org/apache/tajo/algebra/WindowSpecExpr.java 
> PRE-CREATION 
>   
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
>  755532575621ce6ffcffcf8c37b2b16297d31e1b 
>   
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4
>  7fa7973a96afc181c369301c8e4b248f844f0d05 
>   
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4
>  1249d57e36eba9d65262d210f57113f5fc56f4bf 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java
>  c7345835605ee9c7d691d74237f12519b531ac8e 
>   
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java
>  e95d5af080f9b3c48ee69130e1e4d569ccf4cc75 
>   
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/parser/TestSQLAnalyzer.java
>  9462c7512c576c791fa113ca5dcbba20bf68ffcb 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window1.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window2.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window3.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window4.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window5.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window6.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window7.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window8.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window9.sql
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window1.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window2.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window3.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window4.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window5.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window6.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window7.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window8.result
>  PRE-CREATION 
>   
> tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window9.result
>  PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/20289/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hyunsik Choi
> 
>

Reply via email to