Skip to content

Commit 4c1482d

Browse files
committed
fixed interval grammar
1 parent 957fce5 commit 4c1482d

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@ columnExpr
644644
| CAST LPAREN columnExpr AS columnTypeExpr RPAREN # ColumnExprCast
645645
| DATE STRING_LITERAL # ColumnExprDate
646646
| EXTRACT LPAREN interval FROM columnExpr RPAREN # ColumnExprExtract
647-
| INTERVAL columnExpr interval # ColumnExprInterval
647+
| INTERVAL columnExpr interval? # ColumnExprInterval
648648
| SUBSTRING LPAREN columnExpr FROM columnExpr (FOR columnExpr)? RPAREN # ColumnExprSubstring
649649
| TIMESTAMP STRING_LITERAL # ColumnExprTimestamp
650650
| TRIM LPAREN (BOTH | LEADING | TRAILING) STRING_LITERAL FROM columnExpr RPAREN # ColumnExprTrim

jdbc-v2/src/main/java/com/clickhouse/jdbc/internal/ParsedPreparedStatement.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ public void enterColumnExprParam(ClickHouseParser.ColumnExprParamContext ctx) {
166166
appendParameter(ctx.start.getStartIndex());
167167
}
168168

169+
169170
@Override
170171
public void enterColumnExprParamWithCast(ClickHouseParser.ColumnExprParamWithCastContext ctx) {
171172
appendParameter(ctx.start.getStartIndex());

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,4 +261,20 @@ public static Object[][] testCTEStmtsDP() {
261261

262262
};
263263
}
264+
265+
@Test(dataProvider = "testMiscStmtDp")
266+
public void testMiscStatements(String sql, int args) {
267+
SqlParser parser = new SqlParser();
268+
ParsedPreparedStatement stmt = parser.parsePreparedStatement(sql);
269+
Assert.assertFalse(stmt.isHasErrors());
270+
Assert.assertEquals(stmt.getArgCount(), args);
271+
}
272+
273+
@DataProvider
274+
public Object[][] testMiscStmtDp() {
275+
return new Object[][] {
276+
{"SELECT INTERVAL '1 day'", 0},
277+
{"SELECT INTERVAL 1 day", 0},
278+
};
279+
}
264280
}

0 commit comments

Comments
 (0)