mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
support sql ast object toString
This commit is contained in:
@@ -18,8 +18,14 @@ package com.alibaba.druid.sql.dialect.db2.ast;
|
||||
import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.dialect.db2.visitor.DB2ASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public abstract class DB2StatementImpl extends SQLStatementImpl implements DB2Object {
|
||||
|
||||
public DB2StatementImpl() {
|
||||
super(JdbcConstants.DB2);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
if (visitor instanceof DB2ASTVisitor) {
|
||||
|
||||
+5
@@ -18,10 +18,15 @@ package com.alibaba.druid.sql.dialect.mysql.ast.statement;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlAlterTableStatement extends SQLAlterTableStatement {
|
||||
|
||||
private boolean ignore = false;
|
||||
|
||||
public MySqlAlterTableStatement() {
|
||||
super (JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
|
||||
+5
@@ -18,10 +18,15 @@ package com.alibaba.druid.sql.dialect.mysql.ast.statement;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLCreateIndexStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlCreateIndexStatement extends SQLCreateIndexStatement implements MySqlStatement {
|
||||
|
||||
private String using;
|
||||
|
||||
public MySqlCreateIndexStatement() {
|
||||
super (JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
public String getUsing() {
|
||||
return using;
|
||||
|
||||
+2
-1
@@ -31,6 +31,7 @@ import com.alibaba.druid.sql.ast.statement.SQLSelect;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.MySqlObjectImpl;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlCreateTableStatement extends SQLCreateTableStatement implements MySqlStatement {
|
||||
|
||||
@@ -47,7 +48,7 @@ public class MySqlCreateTableStatement extends SQLCreateTableStatement implement
|
||||
private SQLExprTableSource like;
|
||||
|
||||
public MySqlCreateTableStatement(){
|
||||
|
||||
super (JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
public SQLExprTableSource getLike() {
|
||||
|
||||
+5
@@ -22,6 +22,7 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock.L
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlDeleteStatement extends SQLDeleteStatement {
|
||||
|
||||
@@ -33,6 +34,10 @@ public class MySqlDeleteStatement extends SQLDeleteStatement {
|
||||
private SQLTableSource using;
|
||||
private SQLOrderBy orderBy;
|
||||
private Limit limit;
|
||||
|
||||
public MySqlDeleteStatement() {
|
||||
super (JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
public boolean isLowPriority() {
|
||||
return lowPriority;
|
||||
|
||||
+2
-1
@@ -19,6 +19,7 @@ import com.alibaba.druid.sql.ast.SQLExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLRollbackStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlRollbackStatement extends SQLRollbackStatement implements MySqlStatement {
|
||||
|
||||
@@ -28,7 +29,7 @@ public class MySqlRollbackStatement extends SQLRollbackStatement implements MySq
|
||||
private SQLExpr force;
|
||||
|
||||
public MySqlRollbackStatement(){
|
||||
|
||||
super (JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
public Boolean getChain() {
|
||||
|
||||
+5
@@ -18,9 +18,14 @@ package com.alibaba.druid.sql.dialect.mysql.ast.statement;
|
||||
import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public abstract class MySqlStatementImpl extends SQLStatementImpl implements MySqlStatement {
|
||||
|
||||
public MySqlStatementImpl() {
|
||||
super(JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
if (visitor instanceof MySqlASTVisitor) {
|
||||
|
||||
+5
@@ -20,6 +20,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock.Limit;
|
||||
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlUpdateStatement extends SQLUpdateStatement implements MySqlStatement {
|
||||
|
||||
@@ -28,6 +29,10 @@ public class MySqlUpdateStatement extends SQLUpdateStatement implements MySqlSta
|
||||
|
||||
private boolean lowPriority = false;
|
||||
private boolean ignore = false;
|
||||
|
||||
public MySqlUpdateStatement() {
|
||||
super (JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
public Limit getLimit() {
|
||||
return limit;
|
||||
|
||||
@@ -147,6 +147,7 @@ import com.alibaba.druid.sql.parser.ParserException;
|
||||
import com.alibaba.druid.sql.parser.SQLSelectParser;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
import com.alibaba.druid.sql.parser.Token;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class MySqlStatementParser extends SQLStatementParser {
|
||||
|
||||
@@ -191,7 +192,7 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
|
||||
public SQLSelectStatement parseSelect() {
|
||||
MySqlSelectParser selectParser = new MySqlSelectParser(this.exprParser);
|
||||
return new SQLSelectStatement(selectParser.select());
|
||||
return new SQLSelectStatement(selectParser.select(), JdbcConstants.MYSQL);
|
||||
}
|
||||
|
||||
public SQLUpdateStatement parseUpdateStatement() {
|
||||
@@ -2131,7 +2132,7 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
}
|
||||
return stmt;
|
||||
} else {
|
||||
SQLSetStatement stmt = new SQLSetStatement();
|
||||
SQLSetStatement stmt = new SQLSetStatement(getDbType());
|
||||
|
||||
parseAssignItems(stmt.getItems(), stmt);
|
||||
|
||||
@@ -2536,7 +2537,7 @@ public class MySqlStatementParser extends SQLStatementParser {
|
||||
|
||||
accept(Token.DATABASE);
|
||||
|
||||
SQLCreateDatabaseStatement stmt = new SQLCreateDatabaseStatement();
|
||||
SQLCreateDatabaseStatement stmt = new SQLCreateDatabaseStatement(JdbcConstants.MYSQL);
|
||||
stmt.setName(this.exprParser.name());
|
||||
|
||||
if (lexer.token() == Token.DEFAULT) {
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
|
||||
import com.alibaba.druid.sql.dialect.odps.visitor.OdpsASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OdpsCreateTableStatement extends SQLCreateTableStatement {
|
||||
|
||||
@@ -35,6 +36,10 @@ public class OdpsCreateTableStatement extends SQLCreateTableStatement {
|
||||
protected List<SQLColumnDefinition> partitionColumns = new ArrayList<SQLColumnDefinition>(2);
|
||||
|
||||
protected SQLExpr lifecycle;
|
||||
|
||||
public OdpsCreateTableStatement() {
|
||||
super (JdbcConstants.ODPS);
|
||||
}
|
||||
|
||||
public SQLExprTableSource getLike() {
|
||||
return like;
|
||||
|
||||
@@ -23,12 +23,17 @@ import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSubqueryTableSource;
|
||||
import com.alibaba.druid.sql.dialect.odps.visitor.OdpsASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OdpsInsertStatement extends SQLStatementImpl implements SQLStatement {
|
||||
|
||||
private SQLSubqueryTableSource from;
|
||||
|
||||
private List<OdpsInsert> items = new ArrayList<OdpsInsert>();
|
||||
|
||||
public OdpsInsertStatement() {
|
||||
super (JdbcConstants.ODPS);
|
||||
}
|
||||
|
||||
public void setFrom(SQLSubqueryTableSource from) {
|
||||
this.from = from;
|
||||
|
||||
@@ -5,10 +5,15 @@ import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
|
||||
import com.alibaba.druid.sql.dialect.odps.visitor.OdpsASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OdpsShowPartitionsStmt extends SQLStatementImpl implements SQLStatement {
|
||||
|
||||
private SQLExprTableSource tableSource;
|
||||
|
||||
public OdpsShowPartitionsStmt() {
|
||||
super (JdbcConstants.ODPS);
|
||||
}
|
||||
|
||||
public SQLExprTableSource getTableSource() {
|
||||
return tableSource;
|
||||
|
||||
@@ -5,10 +5,15 @@ import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
|
||||
import com.alibaba.druid.sql.dialect.odps.visitor.OdpsASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OdpsShowStatisticStmt extends SQLStatementImpl implements SQLStatement {
|
||||
|
||||
private SQLExprTableSource tableSource;
|
||||
|
||||
public OdpsShowStatisticStmt() {
|
||||
super (JdbcConstants.ODPS);
|
||||
}
|
||||
|
||||
public SQLExprTableSource getTableSource() {
|
||||
return tableSource;
|
||||
|
||||
+5
@@ -18,11 +18,16 @@ package com.alibaba.druid.sql.dialect.oracle.ast.stmt;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleAlterTableStatement extends SQLAlterTableStatement implements OracleDDLStatement {
|
||||
|
||||
private boolean updateGlobalIndexes = false;
|
||||
private boolean invalidateGlobalIndexes = false;
|
||||
|
||||
public OracleAlterTableStatement() {
|
||||
super (JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
accept0((OracleASTVisitor) visitor);
|
||||
|
||||
+5
@@ -20,6 +20,7 @@ import com.alibaba.druid.sql.ast.SQLName;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLCreateIndexStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleCreateIndexStatement extends SQLCreateIndexStatement implements OracleDDLStatement {
|
||||
|
||||
@@ -41,6 +42,10 @@ public class OracleCreateIndexStatement extends SQLCreateIndexStatement implemen
|
||||
private Boolean enable = null;
|
||||
|
||||
private boolean computeStatistics = false;
|
||||
|
||||
public OracleCreateIndexStatement() {
|
||||
super (JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
public SQLName getTablespace() {
|
||||
return tablespace;
|
||||
|
||||
+5
@@ -24,6 +24,7 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleLobStorageClause;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleCreateTableStatement extends SQLCreateTableStatement implements OracleDDLStatement {
|
||||
|
||||
@@ -58,6 +59,10 @@ public class OracleCreateTableStatement extends SQLCreateTableStatement implemen
|
||||
private SQLPartitioningClause partitioning;
|
||||
|
||||
private DeferredSegmentCreation deferredSegmentCreation;
|
||||
|
||||
public OracleCreateTableStatement() {
|
||||
super (JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
public OracleLobStorageClause getLobStorage() {
|
||||
return lobStorage;
|
||||
|
||||
+2
-1
@@ -23,6 +23,7 @@ import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleReturningClause;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleDeleteStatement extends SQLDeleteStatement {
|
||||
|
||||
@@ -32,7 +33,7 @@ public class OracleDeleteStatement extends SQLDeleteStatement {
|
||||
private OracleReturningClause returning = null;
|
||||
|
||||
public OracleDeleteStatement(){
|
||||
|
||||
super (JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
public OracleReturningClause getReturning() {
|
||||
|
||||
+5
@@ -21,11 +21,16 @@ import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLExplainStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleExplainStatement extends SQLExplainStatement implements OracleStatement {
|
||||
|
||||
private SQLCharExpr statementId;
|
||||
private SQLExpr into;
|
||||
|
||||
public OracleExplainStatement() {
|
||||
super (JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept0(OracleASTVisitor visitor) {
|
||||
|
||||
@@ -19,8 +19,13 @@ import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.SQLStatementImpl;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public abstract class OracleStatementImpl extends SQLStatementImpl implements OracleStatement {
|
||||
|
||||
public OracleStatementImpl() {
|
||||
super(JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
protected void accept0(SQLASTVisitor visitor) {
|
||||
accept0((OracleASTVisitor) visitor);
|
||||
|
||||
+2
-1
@@ -23,6 +23,7 @@ import com.alibaba.druid.sql.ast.SQLHint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleUpdateStatement extends SQLUpdateStatement implements OracleStatement {
|
||||
|
||||
@@ -35,7 +36,7 @@ public class OracleUpdateStatement extends SQLUpdateStatement implements OracleS
|
||||
private List<SQLExpr> returningInto = new ArrayList<SQLExpr>();
|
||||
|
||||
public OracleUpdateStatement(){
|
||||
|
||||
super (JdbcConstants.ORACLE);
|
||||
}
|
||||
|
||||
public List<SQLExpr> getReturning() {
|
||||
|
||||
+5
-3
@@ -105,6 +105,7 @@ import com.alibaba.druid.sql.parser.Lexer;
|
||||
import com.alibaba.druid.sql.parser.ParserException;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
import com.alibaba.druid.sql.parser.Token;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class OracleStatementParser extends SQLStatementParser {
|
||||
|
||||
@@ -163,7 +164,8 @@ public class OracleStatementParser extends SQLStatementParser {
|
||||
}
|
||||
|
||||
if (lexer.token() == (Token.SELECT)) {
|
||||
statementList.add(new SQLSelectStatement(new OracleSelectParser(this.exprParser).select()));
|
||||
SQLSelectStatement stmt = new SQLSelectStatement(new OracleSelectParser(this.exprParser).select(), JdbcConstants.ORACLE);
|
||||
statementList.add(stmt);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -238,7 +240,7 @@ public class OracleStatementParser extends SQLStatementParser {
|
||||
if (variant instanceof SQLBinaryOpExpr) {
|
||||
SQLBinaryOpExpr binaryOpExpr = (SQLBinaryOpExpr) variant;
|
||||
if (binaryOpExpr.getOperator() == SQLBinaryOperator.Assignment) {
|
||||
SQLSetStatement stmt = new SQLSetStatement(binaryOpExpr.getLeft(), binaryOpExpr.getRight());
|
||||
SQLSetStatement stmt = new SQLSetStatement(binaryOpExpr.getLeft(), binaryOpExpr.getRight(), getDbType());
|
||||
statementList.add(stmt);
|
||||
continue;
|
||||
}
|
||||
@@ -246,7 +248,7 @@ public class OracleStatementParser extends SQLStatementParser {
|
||||
accept(Token.COLONEQ);
|
||||
SQLExpr value = this.exprParser.expr();
|
||||
|
||||
SQLSetStatement stmt = new SQLSetStatement(variant, value);
|
||||
SQLSetStatement stmt = new SQLSetStatement(variant, value, getDbType());
|
||||
statementList.add(stmt);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
|
||||
import com.alibaba.druid.sql.dialect.postgresql.ast.PGWithClause;
|
||||
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class PGDeleteStatement extends SQLDeleteStatement implements PGSQLStatement {
|
||||
|
||||
@@ -31,6 +32,10 @@ public class PGDeleteStatement extends SQLDeleteStatement implements PGSQLStatem
|
||||
private List<SQLName> using = new ArrayList<SQLName>(2);
|
||||
private boolean returning;
|
||||
private String alias;
|
||||
|
||||
public PGDeleteStatement() {
|
||||
super (JdbcConstants.POSTGRESQL);
|
||||
}
|
||||
|
||||
public boolean isReturning() {
|
||||
return returning;
|
||||
|
||||
+3
-1
@@ -20,16 +20,18 @@ import com.alibaba.druid.sql.ast.statement.SQLSelectStatement;
|
||||
import com.alibaba.druid.sql.dialect.postgresql.ast.PGWithClause;
|
||||
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class PGSelectStatement extends SQLSelectStatement implements PGSQLStatement {
|
||||
|
||||
private PGWithClause with;
|
||||
|
||||
public PGSelectStatement(){
|
||||
super(JdbcConstants.POSTGRESQL);
|
||||
}
|
||||
|
||||
public PGSelectStatement(SQLSelect select){
|
||||
super(select);
|
||||
super(select, JdbcConstants.POSTGRESQL);
|
||||
}
|
||||
|
||||
public PGWithClause getWith() {
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
|
||||
import com.alibaba.druid.sql.dialect.postgresql.ast.PGWithClause;
|
||||
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class PGUpdateStatement extends SQLUpdateStatement implements PGSQLStatement {
|
||||
|
||||
@@ -34,6 +35,10 @@ public class PGUpdateStatement extends SQLUpdateStatement implements PGSQLStatem
|
||||
private List<SQLExpr> returning = new ArrayList<SQLExpr>(2);
|
||||
|
||||
private SQLTableSource from;
|
||||
|
||||
public PGUpdateStatement(){
|
||||
super (JdbcConstants.POSTGRESQL);
|
||||
}
|
||||
|
||||
public SQLTableSource getFrom() {
|
||||
return from;
|
||||
|
||||
+5
@@ -22,12 +22,17 @@ import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerStatement;
|
||||
import com.alibaba.druid.sql.dialect.sqlserver.ast.SQLServerTop;
|
||||
import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitor;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
public class SQLServerUpdateStatement extends SQLUpdateStatement implements SQLServerStatement {
|
||||
|
||||
private SQLServerTop top;
|
||||
private SQLTableSource from;
|
||||
private SQLServerOutput output;
|
||||
|
||||
public SQLServerUpdateStatement(){
|
||||
super (JdbcConstants.SQL_SERVER);
|
||||
}
|
||||
|
||||
public SQLServerTop getTop() {
|
||||
return top;
|
||||
|
||||
+1
-1
@@ -355,7 +355,7 @@ public class SQLServerStatementParser extends SQLStatementParser {
|
||||
}
|
||||
|
||||
if (lexer.token() == Token.VARIANT) {
|
||||
SQLSetStatement stmt = new SQLSetStatement();
|
||||
SQLSetStatement stmt = new SQLSetStatement(getDbType());
|
||||
parseAssignItems(stmt.getItems(), stmt);
|
||||
return stmt;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user