mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve sql parser & add testcase & refactor
This commit is contained in:
@@ -65,9 +65,8 @@ import com.alibaba.druid.sql.ast.expr.SQLUnaryExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.NotNullConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddColumn;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddForeignKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddIndex;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddPrimaryKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAlterColumn;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableKeys;
|
||||
@@ -1392,13 +1391,6 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddPrimaryKey x) {
|
||||
print("ADD ");
|
||||
x.getPrimaryKey().accept(this);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLOver x) {
|
||||
print("OVER (");
|
||||
@@ -1539,13 +1531,6 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddForeignKey x) {
|
||||
print("ADD ");
|
||||
x.getForeignKey().accept(this);
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean visit(SQLAlterTableDisableConstraint x) {
|
||||
print("DISABLE CONSTRAINT ");
|
||||
x.getConstraintName().accept(this);
|
||||
@@ -1790,7 +1775,7 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
|
||||
@Override
|
||||
public boolean visit(SQLDropDatabaseStatement x) {
|
||||
print("DROP DATABASE ");
|
||||
|
||||
|
||||
if (x.isIfExists()) {
|
||||
print("IF EXISTS ");
|
||||
}
|
||||
@@ -1799,7 +1784,7 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddIndex x) {
|
||||
print("ADD ");
|
||||
@@ -1807,7 +1792,7 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
|
||||
print(x.getType());
|
||||
print(" ");
|
||||
}
|
||||
|
||||
|
||||
if (x.isUnique()) {
|
||||
print("UNIQUE ");
|
||||
}
|
||||
@@ -1828,4 +1813,16 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddConstraint x) {
|
||||
if (x.isWithNoCheck()) {
|
||||
print("WITH NOCHECK ");
|
||||
}
|
||||
|
||||
print("ADD ");
|
||||
|
||||
x.getConstraint().accept(this);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,9 +50,8 @@ import com.alibaba.druid.sql.ast.expr.SQLUnaryExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.NotNullConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddColumn;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddForeignKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddIndex;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddPrimaryKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAlterColumn;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableKeys;
|
||||
@@ -364,10 +363,6 @@ public interface SQLASTVisitor {
|
||||
|
||||
void endVisit(SQLAlterTableDropIndex x);
|
||||
|
||||
boolean visit(SQLAlterTableAddPrimaryKey x);
|
||||
|
||||
void endVisit(SQLAlterTableAddPrimaryKey x);
|
||||
|
||||
boolean visit(SQLDropIndexStatement x);
|
||||
|
||||
void endVisit(SQLDropIndexStatement x);
|
||||
@@ -444,10 +439,6 @@ public interface SQLASTVisitor {
|
||||
|
||||
void endVisit(SQLAlterTableStatement x);
|
||||
|
||||
boolean visit(SQLAlterTableAddForeignKey x);
|
||||
|
||||
void endVisit(SQLAlterTableAddForeignKey x);
|
||||
|
||||
boolean visit(SQLAlterTableDisableConstraint x);
|
||||
|
||||
void endVisit(SQLAlterTableDisableConstraint x);
|
||||
@@ -495,28 +486,32 @@ public interface SQLASTVisitor {
|
||||
boolean visit(SQLDropSequenceStatement x);
|
||||
|
||||
void endVisit(SQLDropSequenceStatement x);
|
||||
|
||||
|
||||
boolean visit(SQLDropTriggerStatement x);
|
||||
|
||||
|
||||
void endVisit(SQLDropTriggerStatement x);
|
||||
|
||||
|
||||
void endVisit(SQLDropUserStatement x);
|
||||
|
||||
boolean visit(SQLDropUserStatement x);
|
||||
|
||||
|
||||
void endVisit(SQLExplainStatement x);
|
||||
|
||||
|
||||
boolean visit(SQLExplainStatement x);
|
||||
|
||||
|
||||
void endVisit(SQLGrantStatement x);
|
||||
|
||||
|
||||
boolean visit(SQLGrantStatement x);
|
||||
|
||||
|
||||
void endVisit(SQLDropDatabaseStatement x);
|
||||
|
||||
|
||||
boolean visit(SQLDropDatabaseStatement x);
|
||||
|
||||
|
||||
void endVisit(SQLAlterTableAddIndex x);
|
||||
|
||||
|
||||
boolean visit(SQLAlterTableAddIndex x);
|
||||
|
||||
void endVisit(SQLAlterTableAddConstraint x);
|
||||
|
||||
boolean visit(SQLAlterTableAddConstraint x);
|
||||
}
|
||||
|
||||
@@ -51,9 +51,8 @@ import com.alibaba.druid.sql.ast.expr.SQLUnaryExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.NotNullConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddColumn;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddForeignKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddIndex;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAddPrimaryKey;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAlterColumn;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableConstraint;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableKeys;
|
||||
@@ -679,16 +678,6 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddPrimaryKey x) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLAlterTableAddPrimaryKey x) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLOver x) {
|
||||
}
|
||||
@@ -816,16 +805,6 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddForeignKey x) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLAlterTableAddForeignKey x) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableDisableConstraint x) {
|
||||
return true;
|
||||
@@ -968,44 +947,54 @@ 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;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLGrantStatement x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLGrantStatement x) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLDropDatabaseStatement x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLDropDatabaseStatement x) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLAlterTableAddIndex x) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddIndex x) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVisit(SQLAlterTableAddConstraint x) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean visit(SQLAlterTableAddConstraint x) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user