fix sqlserver select group by classcastException

This commit is contained in:
magicdoom
2016-08-16 10:46:10 +08:00
parent 2e28c46f62
commit b39bdf7515
2 changed files with 27 additions and 1 deletions
@@ -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() {
@@ -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());
}
}
}