improve wall filter

This commit is contained in:
wenshao
2013-04-05 12:49:25 +08:00
parent d268227242
commit 9ea3434bc4
12 changed files with 324 additions and 17 deletions
@@ -21,27 +21,43 @@ import java.util.List;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.expr.SQLQueryExpr;
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
import com.alibaba.druid.sql.ast.statement.SQLInsertStatement.ValuesClause;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
public class MySqlReplaceStatement extends MySqlStatementImpl {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
private boolean lowPriority = false;
private boolean delayed = false;
private boolean lowPriority = false;
private boolean delayed = false;
private SQLName tableName;
private final List<SQLExpr> columns = new ArrayList<SQLExpr>();
private List<ValuesClause> valuesList = new ArrayList<ValuesClause>();
private SQLQueryExpr query;
private SQLExprTableSource tableSource;
private final List<SQLExpr> columns = new ArrayList<SQLExpr>();
private List<ValuesClause> valuesList = new ArrayList<ValuesClause>();
private SQLQueryExpr query;
public SQLName getTableName() {
return tableName;
if (tableSource == null) {
return null;
}
return (SQLName) tableSource.getExpr();
}
public void setTableName(SQLName tableName) {
this.tableName = tableName;
this.setTableSource(new SQLExprTableSource(tableName));
}
public SQLExprTableSource getTableSource() {
return tableSource;
}
public void setTableSource(SQLExprTableSource tableSource) {
if (tableSource != null) {
tableSource.setParent(this);
}
this.tableSource = tableSource;
}
public List<SQLExpr> getColumns() {
@@ -79,7 +95,7 @@ public class MySqlReplaceStatement extends MySqlStatementImpl {
public void accept0(MySqlASTVisitor visitor) {
if (visitor.visit(this)) {
acceptChild(visitor, tableName);
acceptChild(visitor, tableSource);
acceptChild(visitor, columns);
acceptChild(visitor, valuesList);
acceptChild(visitor, query);