sql parser support alter table add foreign key

This commit is contained in:
wenshao
2013-04-07 23:13:12 +08:00
parent 0c9186c0dc
commit f43f6aaf2e
10 changed files with 170 additions and 28 deletions
@@ -66,6 +66,7 @@ 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.SQLAlterTableAddPrimaryKey;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAlterColumn;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableKeys;
@@ -1415,4 +1416,11 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter {
print("DISABLE KEYS");
return false;
}
@Override
public boolean visit(SQLAlterTableAddForeignKey x) {
print("ADD ");
x.getForeignKey().accept(this);
return false;
}
}
@@ -54,6 +54,7 @@ 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.SQLAlterTableAddPrimaryKey;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAlterColumn;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableKeys;
@@ -454,4 +455,8 @@ public interface SQLASTVisitor {
boolean visit(SQLAlterTableStatement x);
void endVisit(SQLAlterTableStatement x);
boolean visit(SQLAlterTableAddForeignKey x);
void endVisit(SQLAlterTableAddForeignKey x);
}
@@ -54,6 +54,7 @@ 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.SQLAlterTableAddPrimaryKey;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableAlterColumn;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableDisableKeys;
@@ -842,4 +843,14 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor {
public void endVisit(SQLAlterTableStatement x) {
}
@Override
public boolean visit(SQLAlterTableAddForeignKey x) {
return true;
}
@Override
public void endVisit(SQLAlterTableAddForeignKey x) {
}
}