improve parser & wall-filter

This commit is contained in:
wenshao
2013-07-30 23:25:56 +08:00
parent 30fcdc8a4e
commit 21c681dd0f
10 changed files with 455 additions and 390 deletions
@@ -23,16 +23,28 @@ import com.alibaba.druid.sql.ast.expr.SQLNCharExpr;
import com.alibaba.druid.sql.ast.expr.SQLNullExpr;
import com.alibaba.druid.sql.ast.expr.SQLNumberExpr;
import com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils;
import com.alibaba.druid.sql.visitor.ParameterizedVisitor;
public class PGParameterizedOutputVisitor extends PGOutputVisitor {
public PGParameterizedOutputVisitor() {
this (new StringBuilder());
public class PGParameterizedOutputVisitor extends PGOutputVisitor implements ParameterizedVisitor {
private int replaceCount;
public PGParameterizedOutputVisitor(){
this(new StringBuilder());
}
public PGParameterizedOutputVisitor(Appendable appender){
super(appender);
}
public int getReplaceCount() {
return this.replaceCount;
}
public void incrementReplaceCunt() {
replaceCount++;
}
public boolean visit(SQLInListExpr x) {
return ParameterizedOutputVisitorUtils.visit(this, x);
}
@@ -45,6 +57,7 @@ public class PGParameterizedOutputVisitor extends PGOutputVisitor {
public boolean visit(SQLNullExpr x) {
print('?');
incrementReplaceCunt();
return false;
}
@@ -54,6 +67,7 @@ public class PGParameterizedOutputVisitor extends PGOutputVisitor {
}
print('?');
incrementReplaceCunt();
return false;
}
@@ -63,6 +77,7 @@ public class PGParameterizedOutputVisitor extends PGOutputVisitor {
}
print('?');
incrementReplaceCunt();
return false;
}
@@ -72,6 +87,7 @@ public class PGParameterizedOutputVisitor extends PGOutputVisitor {
}
print('?');
incrementReplaceCunt();
return false;
}
@@ -81,6 +97,7 @@ public class PGParameterizedOutputVisitor extends PGOutputVisitor {
}
print('?');
incrementReplaceCunt();
return false;
}