Skip to content

Commit b4b8211

Browse files
authored
Merge pull request #2631 from ClickHouse/fix_antlr4_filter_expression
fixed aggregate function with filter clause
2 parents 75b432c + 8d0a54a commit b4b8211

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

jdbc-v2/src/main/antlr4/com/clickhouse/jdbc/internal/parser/antlr4/ClickHouseLexer.g4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ FETCHES : F E T C H E S;
114114
FETCH : F E T C H ;
115115
FILE : F I L E;
116116
FILESYSTEM : F I L E S Y S T E M ;
117+
FILTER : F I L T E R;
117118
FINAL : F I N A L;
118119
FIRST : F I R S T;
119120
FLUSH : F L U S H;

jdbc-v2/src/main/antlr4/com/clickhouse/jdbc/internal/parser/antlr4/ClickHouseParser.g4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,6 +1069,7 @@ columnExpr
10691069
| TRIM LPAREN (BOTH | LEADING | TRAILING) STRING_LITERAL FROM columnExpr RPAREN # ColumnExprTrim
10701070
| identifier (LPAREN columnExprList? RPAREN) OVER LPAREN windowExpr RPAREN # ColumnExprWinFunction
10711071
| identifier (LPAREN columnExprList? RPAREN) OVER identifier # ColumnExprWinFunctionTarget
1072+
| identifier (LPAREN columnExprList? RPAREN) FILTER LPAREN whereClause RPAREN # ColumnExprAgrFuncWithFilter
10721073
| identifier (LPAREN columnExprList? RPAREN)? LPAREN DISTINCT? columnArgList? RPAREN # ColumnExprFunction
10731074
| literal # ColumnExprLiteral
10741075

jdbc-v2/src/test/java/com/clickhouse/jdbc/internal/BaseSqlParserFacadeTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,9 @@ public Object[][] testMiscStmtDp() {
356356
" arrayConcat(t.s.arr1, t.s.arr2)" +
357357
" )" +
358358
")", 0},
359+
{"select count(*) filter (where 1 = 1)", 0},
360+
{"select countIf(*, 1 = ?)", 1},
361+
{"select count(*) filter (where 1 = ?)", 1}
359362
};
360363
}
361364

0 commit comments

Comments
 (0)