mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve sql parser
This commit is contained in:
@@ -710,18 +710,27 @@ public class MySqlExprParser extends SQLExprParser {
|
||||
|
||||
public MySqlUnique parseUnique() {
|
||||
accept(Token.UNIQUE);
|
||||
|
||||
if (lexer.token() == Token.KEY) {
|
||||
lexer.nextToken();
|
||||
}
|
||||
|
||||
MySqlUnique primaryKey = new MySqlUnique();
|
||||
MySqlUnique unique = new MySqlUnique();
|
||||
|
||||
if (identifierEquals("USING")) {
|
||||
lexer.nextToken();
|
||||
primaryKey.setIndexType(lexer.stringVal());
|
||||
unique.setIndexType(lexer.stringVal());
|
||||
lexer.nextToken();
|
||||
}
|
||||
|
||||
|
||||
if (lexer.token() != Token.LPAREN) {
|
||||
SQLName name = name();
|
||||
unique.setName(name);
|
||||
}
|
||||
|
||||
accept(Token.LPAREN);
|
||||
for (;;) {
|
||||
primaryKey.getColumns().add(this.expr());
|
||||
unique.getColumns().add(this.expr());
|
||||
if (!(lexer.token() == (Token.COMMA))) {
|
||||
break;
|
||||
} else {
|
||||
@@ -730,7 +739,7 @@ public class MySqlExprParser extends SQLExprParser {
|
||||
}
|
||||
accept(Token.RPAREN);
|
||||
|
||||
return primaryKey;
|
||||
return unique;
|
||||
}
|
||||
|
||||
public MySqlForeignKey parseForeignKey() {
|
||||
|
||||
Reference in New Issue
Block a user