Merge pull request #4926 from Jiangshan0406/master

修复PG中collate后出现.导致解析失败的情况,issue:https://github.com/alibaba/druid/issu…
This commit is contained in:
温绍锦
2022-09-10 19:03:22 +08:00
committed by GitHub
@@ -4542,12 +4542,24 @@ public class SQLExprParser extends SQLParser {
if (lexer.token == Token.LITERAL_ALIAS
|| lexer.token == Token.IDENTIFIER
|| lexer.token == Token.LITERAL_CHARS) {
charType.setCollate(lexer.stringVal());
StringBuilder collate = new StringBuilder(lexer.stringVal());
lexer.nextToken();
if (lexer.token == Token.DOT){
lexer.nextToken();
if (lexer.token == Token.LITERAL_ALIAS
|| lexer.token == Token.IDENTIFIER
|| lexer.token == Token.LITERAL_CHARS){
collate.append(".").append(lexer.stringVal());
lexer.nextToken();
} else {
throw new ParserException(lexer.info());
}
}
charType.setCollate(collate.toString());
} else {
throw new ParserException(lexer.info());
}
lexer.nextToken();
}
return charType;