1.fix KEY using btree not fit mysql 5.5 syntax,2.fix ALTER TABLE COLLATE bug,3.modify parse error info,like mysql

This commit is contained in:
junyu
2014-07-10 19:03:07 +08:00
parent 4770fce08c
commit eaf2a96f15
6 changed files with 258 additions and 12 deletions
@@ -609,11 +609,11 @@ public class MySqlCreateTableParser extends SQLCreateTableParser {
MySqlKey key = new MySqlKey();
key.setHasConstaint(hasConstaint);
if (identifierEquals("USING")) {
lexer.nextToken();
key.setIndexType(lexer.stringVal());
lexer.nextToken();
}
// if (identifierEquals("USING")) {
// lexer.nextToken();
// key.setIndexType(lexer.stringVal());
// lexer.nextToken();
// }
if (lexer.token() == Token.IDENTIFIER) {
SQLName indexName = this.exprParser.name();
@@ -621,6 +621,13 @@ public class MySqlCreateTableParser extends SQLCreateTableParser {
key.setIndexName(indexName);
}
}
//5.5语法 USING BTREE 放在index 名字后
if (identifierEquals("USING")) {
lexer.nextToken();
key.setIndexType(lexer.stringVal());
lexer.nextToken();
}
accept(Token.LPAREN);
for (;;) {
@@ -388,12 +388,11 @@ public class MySqlOutputVisitor extends SQLASTOutputVisitor implements MySqlASTV
print(" COLLATE ");
print(x.getCollate());
}
}
if (x.getCollate() != null) {
}else if (x.getCollate() != null) {
print(" COLLATE ");
print(x.getCollate());
}
return false;
}