mysql sql format support keepComments.

This commit is contained in:
wenshao
2017-05-14 10:14:34 +08:00
parent 2c26d3623f
commit 5706f65fcf
9 changed files with 187 additions and 5 deletions
@@ -36,21 +36,32 @@ import com.alibaba.druid.sql.dialect.postgresql.parser.PGSQLStatementParser;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerExprParser;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerLexer;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser;
import com.alibaba.druid.util.JdbcConstants;
import com.alibaba.druid.util.JdbcUtils;
public class SQLParserUtils {
public static SQLStatementParser createSQLStatementParser(String sql, String dbType) {
boolean keepComments;
if (JdbcConstants.ODPS.equals(dbType)) {
keepComments = true;
} else {
keepComments = false;
}
return createSQLStatementParser(sql, dbType, keepComments);
}
public static SQLStatementParser createSQLStatementParser(String sql, String dbType, boolean keepComments) {
if (JdbcUtils.ORACLE.equals(dbType) || JdbcUtils.ALI_ORACLE.equals(dbType)) {
return new OracleStatementParser(sql);
}
if (JdbcUtils.MYSQL.equals(dbType)) {
return new MySqlStatementParser(sql);
return new MySqlStatementParser(sql, keepComments);
}
if (JdbcUtils.MARIADB.equals(dbType)) {
return new MySqlStatementParser(sql);
return new MySqlStatementParser(sql, keepComments);
}
if (JdbcUtils.POSTGRESQL.equals(dbType)