mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
add sql parser testcases
This commit is contained in:
@@ -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(' ');
|
||||
|
||||
Reference in New Issue
Block a user