From 6760c73d2cebc28374f92e2c297a1400c5446eaf Mon Sep 17 00:00:00 2001 From: Zhichun Wu Date: Sat, 10 Apr 2021 10:13:41 +0800 Subject: [PATCH] Backport fix for #614 --- src/main/javacc/ClickHouseSqlParser.jj | 2 +- .../clickhouse/jdbc/parser/ClickHouseSqlParserTest.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/javacc/ClickHouseSqlParser.jj b/src/main/javacc/ClickHouseSqlParser.jj index 0810dfecd..c65c4eb3d 100644 --- a/src/main/javacc/ClickHouseSqlParser.jj +++ b/src/main/javacc/ClickHouseSqlParser.jj @@ -413,7 +413,7 @@ void deleteStmt(): {} { // https://clickhouse.tech/docs/en/sql-reference/statements/describe-table/ void describeStmt(): {} { ( | ) { token_source.table = "columns"; } - (LOOKAHEAD({ getToken(1).kind == TABLE }) )? (LOOKAHEAD(2) tableIdentifier(true) | anyExprList()) + (LOOKAHEAD({ getToken(1).kind == TABLE })
)? tableIdentifier(true) (anyExprList())? } // https://clickhouse.tech/docs/en/sql-reference/statements/detach/ diff --git a/src/test/java/ru/yandex/clickhouse/jdbc/parser/ClickHouseSqlParserTest.java b/src/test/java/ru/yandex/clickhouse/jdbc/parser/ClickHouseSqlParserTest.java index 9e2768413..fb96cc75e 100644 --- a/src/test/java/ru/yandex/clickhouse/jdbc/parser/ClickHouseSqlParserTest.java +++ b/src/test/java/ru/yandex/clickhouse/jdbc/parser/ClickHouseSqlParserTest.java @@ -135,6 +135,10 @@ public void testDescribeStatement() { checkSingleStatement(parse(sql = "desc table a"), sql, StatementType.DESCRIBE, "system", "columns"); checkSingleStatement(parse(sql = "describe table a.a"), sql, StatementType.DESCRIBE, "a", "columns"); checkSingleStatement(parse(sql = "desc table table"), sql, StatementType.DESCRIBE, "system", "columns"); + // fix issue #614 + checkSingleStatement(parse(sql = "desc t1 t2"), sql, StatementType.DESCRIBE, "system", "columns"); + checkSingleStatement(parse(sql = "desc table t1 t2"), sql, StatementType.DESCRIBE, "system", "columns"); + checkSingleStatement(parse(sql = "desc table t1 as `t2`"), sql, StatementType.DESCRIBE, "system", "columns"); } @Test