You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2014/07/09 08:34:06 UTC

[jira] [Commented] (TAJO-757) Add parser rule and algebraic expression for window function

    [ https://issues.apache.org/jira/browse/TAJO-757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14055908#comment-14055908 ] 

Hudson commented on TAJO-757:
-----------------------------

SUCCESS: Integrated in Tajo-master-build #280 (See [https://builds.apache.org/job/Tajo-master-build/280/])
TAJO-757: Add parser rule and algebraic expression for window function. (hyunsik) (hyunsik: rev bf540a124260bda2f93abe5c7de1ab3eb60fb611)
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window4.sql
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window5.sql
* tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/parser/TestSQLAnalyzer.java
* tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4
* tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java
* tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window4.result
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window1.result
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window3.result
* tajo-algebra/src/main/java/org/apache/tajo/algebra/WindowSpecExpr.java
* CHANGES.txt
* tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window9.result
* tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java
* tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
* tajo-algebra/src/main/java/org/apache/tajo/algebra/WindowFunctionExpr.java
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window8.result
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window9.sql
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window1.sql
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window6.result
* tajo-algebra/src/main/java/org/apache/tajo/algebra/Window.java
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window5.result
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window6.sql
* tajo-algebra/src/main/java/org/apache/tajo/algebra/GeneralSetFunctionExpr.java
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window8.sql
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window3.sql
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window7.sql
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window2.result
* tajo-core/tajo-core-backend/src/test/resources/results/TestSQLAnalyzer/window7.result
* tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java
* tajo-core/tajo-core-backend/src/test/resources/queries/TestSQLAnalyzer/window2.sql


> Add parser rule and algebraic expression for window function
> ------------------------------------------------------------
>
>                 Key: TAJO-757
>                 URL: https://issues.apache.org/jira/browse/TAJO-757
>             Project: Tajo
>          Issue Type: Sub-task
>          Components: distributed query plan, parser, physical operator, planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>             Fix For: window function
>
>         Attachments: TAJO-757.patch
>
>
> 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}



--
This message was sent by Atlassian JIRA
(v6.2#6252)