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 fd7d4acb30..e0e11b350c 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLStatementParser.java @@ -1849,7 +1849,7 @@ public class SQLStatementParser extends SQLParser { public SQLStatement parseSelect() { SQLSelectParser selectParser = createSQLSelectParser(); SQLSelect select = selectParser.select(); - return new SQLSelectStatement(select); + return new SQLSelectStatement(select,getDbType()); } public SQLSelectParser createSQLSelectParser() { diff --git a/src/test/java/com/alibaba/druid/sql/parser/SqlserverGroupByTest.java b/src/test/java/com/alibaba/druid/sql/parser/SqlserverGroupByTest.java new file mode 100644 index 0000000000..ac71656209 --- /dev/null +++ b/src/test/java/com/alibaba/druid/sql/parser/SqlserverGroupByTest.java @@ -0,0 +1,26 @@ +package com.alibaba.druid.sql.parser; + +import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; +import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser; +import junit.framework.TestCase; +import org.junit.Assert; + +/** + * Created by magicdoom on 2016/8/16. + */ +public class SqlserverGroupByTest extends TestCase +{ + public void testGroupBy() throws Exception { + String sql = "SELECT a.workflowid, COUNT(1) FROM workflow_base a GROUP BY a.workflowid"; + SQLStatementParser parser = new SQLServerStatementParser(sql); + SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatement(); // + try { + stmt.toString(); + } catch (ClassCastException e) + { + Assert.fail(e.getMessage()); + } + + + } +}