improve sql-wall

This commit is contained in:
wenshao
2013-08-03 09:27:52 +08:00
parent ac7bb45366
commit 91fc668553
3 changed files with 70 additions and 1 deletions
@@ -187,16 +187,29 @@ public class DB2WallVisitor extends DB2ASTVisitorAdapter implements WallVisitor
this.toSQL(x)));
return false;
}
WallVisitorUtils.initWallTopStatementContext();
return true;
}
@Override
public void endVisit(SQLSelectStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLInsertStatement x) {
WallVisitorUtils.initWallTopStatementContext();
WallVisitorUtils.checkInsert(this, x);
return true;
}
@Override
public void endVisit(SQLInsertStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLDeleteStatement x) {
@@ -206,10 +219,16 @@ public class DB2WallVisitor extends DB2ASTVisitorAdapter implements WallVisitor
@Override
public boolean visit(SQLUpdateStatement x) {
WallVisitorUtils.initWallTopStatementContext();
WallVisitorUtils.checkUpdate(this, x);
return true;
}
@Override
public void endVisit(SQLUpdateStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLSelectItem x) {
@@ -68,7 +68,7 @@ public class OracleWallVisitor extends OracleASTVisitorAdapter implements WallVi
this.config = provider.getConfig();
this.provider = provider;
}
@Override
public boolean isSqlModified() {
return sqlModified;
@@ -204,6 +204,11 @@ public class OracleWallVisitor extends OracleASTVisitorAdapter implements WallVi
return true;
}
@Override
public void endVisit(SQLSelectStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(OracleInsertStatement x) {
@@ -218,6 +223,16 @@ public class OracleWallVisitor extends OracleASTVisitorAdapter implements WallVi
return true;
}
@Override
public void endVisit(OracleInsertStatement x) {
endVisit((SQLInsertStatement) x);
}
@Override
public void endVisit(SQLInsertStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(InsertIntoClause x) {
WallVisitorUtils.checkInsert(this, x);
@@ -237,6 +252,11 @@ public class OracleWallVisitor extends OracleASTVisitorAdapter implements WallVi
return true;
}
@Override
public void endVisit(OracleMultiInsertStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(OracleDeleteStatement x) {
return visit((SQLDeleteStatement) x);
@@ -247,6 +267,16 @@ public class OracleWallVisitor extends OracleASTVisitorAdapter implements WallVi
WallVisitorUtils.checkDelete(this, x);
return true;
}
@Override
public void endVisit(OracleDeleteStatement x) {
endVisit((SQLDeleteStatement) x);
}
@Override
public void endVisit(SQLDeleteStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(OracleUpdateStatement x) {
@@ -193,6 +193,11 @@ public class PGWallVisitor extends PGASTVisitorAdapter implements WallVisitor {
return true;
}
@Override
public void endVisit(SQLSelectStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLInsertStatement x) {
@@ -201,12 +206,22 @@ public class PGWallVisitor extends PGASTVisitorAdapter implements WallVisitor {
return true;
}
@Override
public void endVisit(SQLInsertStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLDeleteStatement x) {
WallVisitorUtils.checkDelete(this, x);
return true;
}
@Override
public void endVisit(SQLDeleteStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLUpdateStatement x) {
@@ -215,6 +230,11 @@ public class PGWallVisitor extends PGASTVisitorAdapter implements WallVisitor {
return true;
}
@Override
public void endVisit(SQLUpdateStatement x) {
WallVisitorUtils.clearWallTopStatementContext();
}
@Override
public boolean visit(SQLSelectItem x) {