improve sql parser hive & odps support

This commit is contained in:
shaojin.wensj
2023-02-19 16:12:05 +08:00
parent e33b10bb42
commit ac70cf6dc3
2 changed files with 15 additions and 1 deletions
@@ -90,6 +90,11 @@ public class HiveExprParser extends SQLExprParser {
lexer.nextToken();
Number num = ((SQLNumericLiteralExpr) expr).getNumber();
expr = new SQLDecimalExpr(num.toString());
} else if (lexer.identifierEquals(FnvHash.Constants.DAYS)) { // hortonworks
lexer.nextToken();
SQLIntervalExpr intervalExpr = new SQLIntervalExpr();
intervalExpr.setValue(expr);
intervalExpr.setUnit(SQLIntervalUnit.DAY);
}
break;
default:
@@ -2580,8 +2580,17 @@ public class Lexer {
}
int start = pos;
for (;;) {
for (; ; ) {
if (ch == ' ' || ch == '\r' || ch == '\n' || ch == EOI) {
while (pos < text.length() - 1) {
char c1 = text.charAt(pos);
if (c1 == ' ' || c1 == '\r' || c1 == '\n' || c1 == '\t') {
pos++;
continue;
}
break;
}
String arg = text.substring(start, pos);
arg = arg.trim();
if (arg.length() > 0) {