mysql sql parser support unicode alias

This commit is contained in:
高铁
2016-03-11 11:50:38 +08:00
parent a71eb0b6cf
commit 64ffb6b6f4
2 changed files with 8 additions and 5 deletions
@@ -537,7 +537,7 @@ public class MySqlLexer extends Lexer {
if (c <= identifierFlags.length) {
return identifierFlags[c];
}
return false;
return c != ' ' && c != ',';
}
public void scanNumber() {
@@ -2,11 +2,12 @@ package com.alibaba.druid.bvt.sql.schemaStat;
import org.junit.Assert;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.dialect.odps.parser.OdpsStatementParser;
import com.alibaba.druid.sql.dialect.odps.visitor.OdpsSchemaStatVisitor;
import com.alibaba.druid.sql.parser.SQLParserUtils;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.sql.visitor.SchemaStatVisitor;
import com.alibaba.druid.util.JdbcConstants;
import junit.framework.TestCase;
@@ -17,10 +18,12 @@ public class SchemaStatTest extends TestCase {
+ " from alisec_app.adl_tb_wing_rubbish_laidian_new_reason_realname_fdt "
+ " order by 来电日期 desc limit 30;";
SQLStatementParser parser = new OdpsStatementParser(sql);
String dbType = JdbcConstants.ODPS;
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType);
SQLStatement stmt = parser.parseStatementList().get(0);
SchemaStatVisitor statVisitor = new OdpsSchemaStatVisitor();
SchemaStatVisitor statVisitor = SQLUtils.createSchemaStatVisitor(dbType);
stmt.accept(statVisitor);
System.out.println(statVisitor.getColumns());