sql parser support drop database

This commit is contained in:
wenshao
2013-08-04 21:15:04 +08:00
parent 31250baebc
commit 9caef67756
7 changed files with 181 additions and 3 deletions
@@ -95,6 +95,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCreateDatabaseStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateIndexStatement;
import com.alibaba.druid.sql.ast.statement.SQLCreateTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropDatabaseStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropIndexStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
@@ -1723,12 +1724,12 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
if (x.getOn() != null) {
print(" ON ");
if (x.getObjectType() != null) {
print(x.getObjectType().name());
print(' ');
}
x.getOn().accept(this);
}
@@ -1773,7 +1774,7 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
print(" MAX_USER_CONNECTIONS ");
x.getMaxUserConnections().accept(this);
}
if (x.isAdminOption()) {
if (!with) {
print(" WITH");
@@ -1784,4 +1785,17 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
return false;
}
@Override
public boolean visit(SQLDropDatabaseStatement x) {
print("DROP DATABASE ");
if (x.isIfExists()) {
print("IF EXISTS ");
}
x.getDatabase().accept(this);
return false;
}
}
@@ -79,6 +79,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCreateIndexStatement;
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.SQLDropDatabaseStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropIndexStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
@@ -509,4 +510,8 @@ public interface SQLASTVisitor {
void endVisit(SQLGrantStatement x);
boolean visit(SQLGrantStatement x);
void endVisit(SQLDropDatabaseStatement x);
boolean visit(SQLDropDatabaseStatement x);
}
@@ -80,6 +80,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCreateIndexStatement;
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.SQLDropDatabaseStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropIndexStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
@@ -986,4 +987,14 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
public boolean visit(SQLGrantStatement x) {
return true;
}
@Override
public void endVisit(SQLDropDatabaseStatement x) {
}
@Override
public boolean visit(SQLDropDatabaseStatement x) {
return true;
}
}
@@ -52,6 +52,7 @@ import com.alibaba.druid.sql.ast.statement.SQLCreateIndexStatement;
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.SQLDropDatabaseStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropIndexStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropSequenceStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
@@ -1266,4 +1267,9 @@ public class SchemaStatVisitor extends SQLASTVisitorAdapter {
public boolean visit(SQLGrantStatement x) {
return false;
}
@Override
public boolean visit(SQLDropDatabaseStatement x) {
return false;
}
}