improve wall filter

This commit is contained in:
wenshao
2013-04-11 15:38:13 +08:00
parent 7d80ffd7a7
commit eddb42ae53
28 changed files with 946 additions and 69 deletions
@@ -23,9 +23,13 @@ import java.util.concurrent.atomic.AtomicLongFieldUpdater;
public class WallSqlStat {
private volatile long executeCount;
private volatile long effectRowCount;
final static AtomicLongFieldUpdater<WallSqlStat> executeCountUpdater = AtomicLongFieldUpdater.newUpdater(WallSqlStat.class,
"executeCount");
final static AtomicLongFieldUpdater<WallSqlStat> executeCountUpdater = AtomicLongFieldUpdater.newUpdater(WallSqlStat.class,
"executeCount");
final static AtomicLongFieldUpdater<WallSqlStat> effectRowCountUpdater = AtomicLongFieldUpdater.newUpdater(WallSqlStat.class,
"effectRowCount");
private final Map<String, WallSqlTableStat> tableStats;
private final List<Violation> violations;
@@ -54,6 +58,18 @@ public class WallSqlStat {
public long getExecuteCount() {
return executeCount;
}
public long incrementAndGetEffectRowCount() {
return effectRowCountUpdater.incrementAndGet(this);
}
public long addAndGetEffectRowCount(long delta) {
return effectRowCountUpdater.addAndGet(this, delta);
}
public long getEffectRowCount() {
return effectRowCount;
}
public Map<String, WallSqlTableStat> getTableStats() {
return tableStats;