improve sql parser

This commit is contained in:
wenshao
2013-08-04 10:16:50 +08:00
parent 459901e8d9
commit c6d0165893
16 changed files with 244 additions and 46 deletions
@@ -101,6 +101,7 @@ import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTriggerStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropUserStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropViewStatement;
import com.alibaba.druid.sql.ast.statement.SQLExplainStatement;
import com.alibaba.druid.sql.ast.statement.SQLExprHint;
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
import com.alibaba.druid.sql.ast.statement.SQLForeignKeyConstraint;
@@ -1705,4 +1706,12 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
printAndAccept(x.getUsers(), ", ");
return false;
}
@Override
public boolean visit(SQLExplainStatement x) {
print("EXPLAIN");
println();
x.getStatement().accept(this);
return false;
}
}
@@ -85,6 +85,7 @@ import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTriggerStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropUserStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropViewStatement;
import com.alibaba.druid.sql.ast.statement.SQLExplainStatement;
import com.alibaba.druid.sql.ast.statement.SQLExprHint;
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl;
@@ -499,4 +500,8 @@ public interface SQLASTVisitor {
void endVisit(SQLDropUserStatement x);
boolean visit(SQLDropUserStatement x);
void endVisit(SQLExplainStatement x);
boolean visit(SQLExplainStatement x);
}
@@ -86,6 +86,7 @@ import com.alibaba.druid.sql.ast.statement.SQLDropTableStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropTriggerStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropUserStatement;
import com.alibaba.druid.sql.ast.statement.SQLDropViewStatement;
import com.alibaba.druid.sql.ast.statement.SQLExplainStatement;
import com.alibaba.druid.sql.ast.statement.SQLExprHint;
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl;
@@ -964,4 +965,14 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
public boolean visit(SQLDropUserStatement x) {
return true;
}
@Override
public void endVisit(SQLExplainStatement x) {
}
@Override
public boolean visit(SQLExplainStatement x) {
return true;
}
}