Skip to content

Commit 5d40d7f

Browse files
committed
corrected comma list to partition by
1 parent b3a6354 commit 5d40d7f

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/main/javacc/net/sf/jsqlparser/parser/JSqlParserCC.jj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1531,7 +1531,7 @@ AnalyticExpression AnalyticExpression() :
15311531
}
15321532
{
15331533
token=<S_IDENTIFIER> { retval.setName(token.image); } "(" [ expr=SimpleExpression() | "*" { retval.setAllColumns(true); } ] ")" <K_OVER> "("
1534-
[<K_PARTITION> <K_BY> (column=Column() {plist.add(column);} )+ ]
1534+
[<K_PARTITION> <K_BY> column=Column() {plist.add(column);} ("," column=Column() {plist.add(column);} )* ]
15351535
[olist=OrderByElements() ]
15361536
{
15371537
retval.setExpression(expr);

src/test/java/net/sf/jsqlparser/test/select/SelectTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,11 @@ public void testProblemSqlAnalytic8Complex() throws JSQLParserException {
671671
String stmt = "SELECT ID, NAME, SALARY, SUM(SALARY) OVER () AS SUM_SAL, AVG(SALARY) OVER () AS AVG_SAL, MIN(SALARY) OVER () AS MIN_SAL, MAX(SALARY) OVER () AS MAX_SAL, COUNT(*) OVER () AS ROWS FROM STAFF WHERE ID < 60 ORDER BY ID";
672672
assertSqlCanBeParsedAndDeparsed(stmt);
673673
}
674+
675+
public void testProblemSqlAnalytic9CommaListPartition() throws JSQLParserException {
676+
String stmt = "SELECT a, row_number() OVER (PARTITION BY c, d ORDER BY a, b) AS n FROM table1";
677+
assertSqlCanBeParsedAndDeparsed(stmt);
678+
}
674679

675680
public void testOracleJoin() throws JSQLParserException {
676681
String stmt = "SELECT * FROM tabelle1, tabelle2 WHERE tabelle1.a = tabelle2.b(+)";

0 commit comments

Comments
 (0)