StatSchema support DropIndex

This commit is contained in:
wenshao
2013-07-15 15:49:14 +08:00
parent 16cc1ef545
commit 7129ff5839
4 changed files with 152 additions and 1 deletions
@@ -51,6 +51,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCommentStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateViewStatement;
import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropIndexStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
import com.alibaba.druid.sql.ast.statement.SQLInsertStatement;
@@ -1156,4 +1157,23 @@ public class SchemaStatVisitor extends SQLASTVisitorAdapter {
public boolean visit(SQLAlterTableDropConstraint x) {
return false;
}
@Override
public boolean visit(SQLDropIndexStatement x) {
setMode(x, Mode.DropIndex);
SQLName name = (SQLName) x.getTableName().getExpr();
String ident = name.toString();
setCurrentTable(ident);
TableStat stat = getTableStat(ident);
stat.incrementDropIndexCount();
Map<String, String> aliasMap = getAliasMap();
if (aliasMap != null) {
aliasMap.put(ident, ident);
}
return false;
}
}
@@ -33,6 +33,15 @@ public class TableStat {
int createCount = 0;
int alterCount = 0;
int createIndexCount = 0;
int dropIndexCount = 0;
public int getDropIndexCount() {
return dropIndexCount;
}
public void incrementDropIndexCount() {
this.dropIndexCount++;
}
public int getCreateIndexCount() {
return createIndexCount;
@@ -155,6 +164,9 @@ public class TableStat {
if (createIndexCount > 0) {
buf.append("CreateIndex");
}
if (dropIndexCount > 0) {
buf.append("DropIndex");
}
return buf.toString();
}
@@ -497,7 +509,7 @@ public class TableStat {
Merge(16), //
Truncate(32), //
Alter(64), //
Drop(128);
Drop(128), DropIndex(256); //
public final int mark;