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)); + } +}