From c2ca764d9fdcabc8d04b6b682cd26141b4ea2688 Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 18 Nov 2016 21:02:36 +0800 Subject: [PATCH] odps sql parser support drop table purge. issue #1496 --- .../druid/sql/parser/SQLStatementParser.java | 2 +- .../druid/bvt/sql/odps/OdpsDropTableTest.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsDropTableTest.java diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java index d8247a032e..e7e92c67e2 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java @@ -1182,7 +1182,7 @@ public class SQLStatementParser extends SQLParser { continue; } - if (lexer.token() == Token.PURGE) { + if (lexer.token() == Token.PURGE || identifierEquals("PURGE")) { lexer.nextToken(); stmt.setPurge(true); continue; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsDropTableTest.java b/src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsDropTableTest.java new file mode 100644 index 0000000000..28089b77a3 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsDropTableTest.java @@ -0,0 +1,14 @@ +package com.alibaba.druid.bvt.sql.odps; + +import com.alibaba.druid.sql.SQLUtils; +import junit.framework.TestCase; + +/** + * Created by wenshao on 2016/11/18. + */ +public class OdpsDropTableTest extends TestCase { + public void test_drop_table() throws Exception { + String sql = "DROP TABLE a PURGE ;"; + assertEquals("DROP TABLE a PURGE;", SQLUtils.formatOdps(sql)); + } +}