add db2 sql parser support

This commit is contained in:
wenshao
2013-07-25 23:23:55 +08:00
parent 920d826331
commit 89f1106e34
26 changed files with 943 additions and 41 deletions
@@ -25,6 +25,7 @@ import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator;
import com.alibaba.druid.sql.ast.expr.SQLInListExpr;
import com.alibaba.druid.sql.ast.expr.SQLLiteralExpr;
import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
import com.alibaba.druid.sql.dialect.db2.visitor.DB2ParameterizedOutputVisitor;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlParameterizedOutputVisitor;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleParameterizedOutputVisitor;
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGParameterizedOutputVisitor;
@@ -77,6 +78,10 @@ public class ParameterizedOutputVisitorUtils {
if (JdbcUtils.SQL_SERVER.equals(dbType) || JdbcUtils.JTDS.equals(dbType)) {
return new SQLServerParameterizedOutputVisitor(out);
}
if (JdbcUtils.DB2.equals(dbType)) {
return new DB2ParameterizedOutputVisitor(out);
}
return new ParameterizedOutputVisitor(out);
}
@@ -52,6 +52,7 @@ import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
import com.alibaba.druid.sql.ast.statement.SQLSelectItem;
import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
import com.alibaba.druid.sql.dialect.db2.visitor.DB2EvalVisitor;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlEvalVisitorImpl;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleEvalVisitor;
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGEvalVisitor;
@@ -167,6 +168,10 @@ public class SQLEvalVisitorUtils {
if (JdbcUtils.SQL_SERVER.equals(dbType)) {
return new SQLServerEvalVisitor();
}
if (JdbcUtils.DB2.equals(dbType)) {
return new DB2EvalVisitor();
}
return new SQLEvalVisitorImpl();
}