From 1ee8776eb4b59176017abd4d4d305c7996a373f3 Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 18 Nov 2016 22:02:21 +0800 Subject: [PATCH] bug fixed for odps sql parser. issue #1495 --- .../odps/parser/OdpsStatementParser.java | 4 ++++ .../druid/bvt/sql/odps/OdpsInsertTest2.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/test/java/com/alibaba/druid/bvt/sql/odps/OdpsInsertTest2.java 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)); + } +}