add sql parser testcases

This commit is contained in:
高铁
2016-03-12 16:16:59 +08:00
parent 491752c4dd
commit 55280f4675
35 changed files with 211 additions and 91 deletions
@@ -20,7 +20,6 @@ import java.util.List;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.SQLObjectImpl;
import com.alibaba.druid.sql.parser.Token;
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
public class SQLAlterTableAddIndex extends SQLObjectImpl implements SQLAlterTableItem {
@@ -35,7 +34,7 @@ public class SQLAlterTableAddIndex extends SQLObjectImpl implements SQLAlterTabl
private String using;
private String keyOrIndex = Token.INDEX.name;
private boolean key = false;
@Override
protected void accept0(SQLASTVisitor visitor) {
@@ -89,11 +88,11 @@ public class SQLAlterTableAddIndex extends SQLObjectImpl implements SQLAlterTabl
this.using = using;
}
public String getKeyOrIndex() {
return keyOrIndex;
public boolean isKey() {
return key;
}
public void setKeyOrIndex(String keyOrIndex) {
this.keyOrIndex = keyOrIndex;
public void setKey(boolean key) {
this.key = key;
}
}
@@ -1986,18 +1986,16 @@ public class SQLStatementParser extends SQLParser {
item.setUnique(true);
lexer.nextToken();
if (lexer.token() == Token.INDEX) {
item.setKeyOrIndex(Token.INDEX.name);
lexer.nextToken();
} else if (lexer.token() == Token.KEY) {
item.setKeyOrIndex(Token.KEY.name);
item.setKey(true);
lexer.nextToken();
}
} else {
if (lexer.token() == Token.INDEX) {
item.setKeyOrIndex(Token.INDEX.name);
accept(Token.INDEX);
} else if (lexer.token() == Token.KEY) {
item.setKeyOrIndex(Token.KEY.name);
item.setKey(true);
accept(Token.KEY);
}
}
@@ -2152,9 +2152,12 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab
print0(ucase ? "UNIQUE " : "unique ");
}
print0(x.getKeyOrIndex());
print(' ');
if (x.isKey()) {
print0(ucase ? "KEY " : "key ");
} else {
print0(ucase ? "INDEX " : "index ");
}
if (x.getName() != null) {
x.getName().accept(this);
print(' ');