diff --git a/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsStatementParser.java b/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsStatementParser.java index b0b6f34d49..d7b1e29570 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/odps/parser/OdpsStatementParser.java @@ -253,6 +253,10 @@ public class OdpsStatementParser extends SQLStatementParser { return stmt; } + public SQLSelectParser createSQLSelectParser() { + return new OdpsSelectParser(this.exprParser); + } + public OdpsInsert parseOdpsInsert() { OdpsInsert insert = new OdpsInsert(); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsInsertTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsInsertTest2.java new file mode 100644 index 0000000000..8e051b05f2 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsInsertTest2.java @@ -0,0 +1,17 @@ +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 OdpsInsertTest2 extends TestCase { + public void test_for_insert_select_limit() throws Exception { + String sql = "insert into table a select * from b limit 1"; + assertEquals("INSERT INTO TABLE a\n" + + "SELECT *\n" + + "FROM b\n" + + "LIMIT 1", SQLUtils.formatOdps(sql)); + } +}