improved sql parser

This commit is contained in:
shaojin.wensj
2022-11-14 16:44:02 +08:00
parent 5473b2665d
commit 962e16534e
3 changed files with 5 additions and 5 deletions
@@ -2272,7 +2272,7 @@ public class Lexer {
boolean ident = false;
for (; ; ) {
ch = charAt(++pos);
if (isEOF() || ch == ';' || ch == ';') {
if (isEOF() || ch == ';' || ch == ';' || ch == '\r' || ch == '\n') {
pos--;
bufPos--;
break;
@@ -2318,7 +2318,7 @@ public class Lexer {
this.ch = charAt(pos);
if (dbType == DbType.odps && !isWhitespace(endChar)) {
while (isIdentifierChar(this.ch) && ch != ';') {
while (isIdentifierChar(this.ch) && ch != ';' && ch != ';') {
++pos;
bufPos++;
this.ch = charAt(pos);
@@ -46,7 +46,7 @@ public class OdpsLexerTest extends TestCase {
lexer.nextToken();
assertEquals(Token.IDENTIFIER, lexer.token());
lexer.nextToken();
assertEquals(Token.IDENTIFIER, lexer.token());
assertEquals(Token.VARIANT, lexer.token());
assertEquals("@{yyyyMMdd}_${rundt}", lexer.stringVal());
}
@@ -29,11 +29,11 @@ public class OdpsSelectTest37 extends TestCase {
String sql = "-- abc\u001A" +
"\nselect * from t";
assertEquals("-- abc\n" +
assertEquals("-- abc\u001A\n" +
"SELECT *\n" +
"FROM t", SQLUtils.formatOdps(sql));
assertEquals("-- abc\n" +
assertEquals("-- abc\u001A\n" +
"select *\n" +
"from t", SQLUtils.formatOdps(sql, SQLUtils.DEFAULT_LCASE_FORMAT_OPTION));