support EnterpriseDB.

This commit is contained in:
wenshao
2016-10-24 23:05:43 +08:00
parent 0caef08940
commit 7e17045d7f
9 changed files with 30 additions and 7 deletions
@@ -23,6 +23,7 @@ import com.alibaba.druid.sql.ast.statement.SQLDescribeStatement;
import com.alibaba.druid.sql.ast.statement.SQLObjectType;
import com.alibaba.druid.sql.dialect.odps.visitor.OdpsASTVisitor;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
import com.alibaba.druid.util.JdbcConstants;
public class OdpsDescStmt extends SQLDescribeStatement {
@@ -30,6 +31,10 @@ public class OdpsDescStmt extends SQLDescribeStatement {
private List<SQLExpr> partition = new ArrayList<SQLExpr>();
public OdpsDescStmt() {
this.setDbType(JdbcConstants.ODPS);
}
@Override
protected void accept0(SQLASTVisitor visitor) {
accept0((OdpsASTVisitor) visitor);
@@ -53,7 +53,8 @@ public class SQLParserUtils {
return new MySqlStatementParser(sql);
}
if (JdbcUtils.POSTGRESQL.equals(dbType)) {
if (JdbcUtils.POSTGRESQL.equals(dbType)
|| JdbcUtils.ENTERPRISE_DB.equals(dbType)) {
return new PGSQLStatementParser(sql);
}
@@ -91,7 +92,8 @@ public class SQLParserUtils {
return new MySqlExprParser(sql);
}
if (JdbcUtils.POSTGRESQL.equals(dbType)) {
if (JdbcUtils.POSTGRESQL.equals(dbType)
|| JdbcUtils.ENTERPRISE_DB.equals(dbType)) {
return new PGExprParser(sql);
}
@@ -125,7 +127,8 @@ public class SQLParserUtils {
return new MySqlLexer(sql);
}
if (JdbcUtils.POSTGRESQL.equals(dbType)) {
if (JdbcUtils.POSTGRESQL.equals(dbType)
|| JdbcUtils.ENTERPRISE_DB.equals(dbType)) {
return new PGLexer(sql);
}
@@ -58,9 +58,12 @@ public final class ExportParameterVisitorUtils {
if (JdbcUtils.H2.equals(dbType)) {
return new MySqlExportParameterVisitor(out);
}
if (JdbcUtils.POSTGRESQL.equals(dbType)) {
if (JdbcUtils.POSTGRESQL.equals(dbType)
|| JdbcUtils.ENTERPRISE_DB.equals(dbType)) {
return new PGExportParameterVisitor(out);
}
if (JdbcUtils.SQL_SERVER.equals(dbType) || JdbcUtils.JTDS.equals(dbType)) {
return new MSSQLServerExportParameterVisitor(out);
}
@@ -90,7 +90,8 @@ public class ParameterizedOutputVisitorUtils {
return new MySqlOutputVisitor(out, true);
}
if (JdbcUtils.POSTGRESQL.equals(dbType)) {
if (JdbcUtils.POSTGRESQL.equals(dbType)
|| JdbcUtils.ENTERPRISE_DB.equals(dbType)) {
return new PGOutputVisitor(out, true);
}
@@ -90,6 +90,7 @@ import com.alibaba.druid.sql.visitor.functions.Trim;
import com.alibaba.druid.sql.visitor.functions.Ucase;
import com.alibaba.druid.sql.visitor.functions.Unhex;
import com.alibaba.druid.util.HexBin;
import com.alibaba.druid.util.JdbcConstants;
import com.alibaba.druid.util.JdbcUtils;
import com.alibaba.druid.util.Utils;
import com.alibaba.druid.wall.spi.WallVisitorUtils;
@@ -167,7 +168,8 @@ public class SQLEvalVisitorUtils {
return new OracleEvalVisitor();
}
if (JdbcUtils.POSTGRESQL.equals(dbType)) {
if (JdbcConstants.POSTGRESQL.equals(dbType)
|| JdbcConstants.ENTERPRISE_DB.equals(dbType)) {
return new PGEvalVisitor();
}