mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve wallfilter
This commit is contained in:
@@ -54,6 +54,9 @@ public class SQLInsertStatement extends SQLInsertInto implements SQLStatement {
|
||||
|
||||
public ValuesClause(List<SQLExpr> values){
|
||||
this.values = values;
|
||||
for (int i = 0; i < values.size(); ++i) {
|
||||
values.get(i).setParent(this);
|
||||
}
|
||||
}
|
||||
|
||||
public List<SQLExpr> getValues() {
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ public class SQLServerStatementParser extends SQLStatementParser {
|
||||
for (;;) {
|
||||
accept(Token.LPAREN);
|
||||
SQLInsertStatement.ValuesClause values = new SQLInsertStatement.ValuesClause();
|
||||
this.exprParser.exprList(values.getValues());
|
||||
this.exprParser.exprList(values.getValues(), values);
|
||||
insertStatement.getValuesList().add(values);
|
||||
accept(Token.RPAREN);
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.alibaba.druid.sql.ast.SQLDataType;
|
||||
import com.alibaba.druid.sql.ast.SQLDataTypeImpl;
|
||||
import com.alibaba.druid.sql.ast.SQLExpr;
|
||||
import com.alibaba.druid.sql.ast.SQLName;
|
||||
import com.alibaba.druid.sql.ast.SQLObject;
|
||||
import com.alibaba.druid.sql.ast.SQLOrderBy;
|
||||
import com.alibaba.druid.sql.ast.SQLOrderingSpecification;
|
||||
import com.alibaba.druid.sql.ast.SQLOver;
|
||||
@@ -536,7 +537,7 @@ public class SQLExprParser extends SQLParser {
|
||||
}
|
||||
|
||||
if (lexer.token() != Token.RPAREN) {
|
||||
exprList(methodInvokeExpr.getParameters());
|
||||
exprList(methodInvokeExpr.getParameters(), methodInvokeExpr);
|
||||
}
|
||||
|
||||
accept(Token.RPAREN);
|
||||
@@ -611,8 +612,12 @@ public class SQLExprParser extends SQLParser {
|
||||
exprCol.add(name());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public final void exprList(Collection<SQLExpr> exprCol) {
|
||||
exprList(exprCol, null);
|
||||
}
|
||||
|
||||
public final void exprList(Collection<SQLExpr> exprCol, SQLObject parent) {
|
||||
if (lexer.token() == Token.RPAREN || lexer.token() == Token.RBRACKET) {
|
||||
return;
|
||||
}
|
||||
@@ -622,11 +627,13 @@ public class SQLExprParser extends SQLParser {
|
||||
}
|
||||
|
||||
SQLExpr expr = expr();
|
||||
expr.setParent(parent);
|
||||
exprCol.add(expr);
|
||||
|
||||
while (lexer.token() == Token.COMMA) {
|
||||
lexer.nextToken();
|
||||
expr = expr();
|
||||
expr.setParent(parent);
|
||||
exprCol.add(expr);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user