mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
Merge pull request #4926 from Jiangshan0406/master
修复PG中collate后出现.导致解析失败的情况,issue:https://github.com/alibaba/druid/issu…
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user