improved mysql parser support. for interval function

This commit is contained in:
高铁
2016-05-21 02:11:30 +08:00
parent 352a7ca08b
commit fb7bdd9b3d
2 changed files with 94 additions and 2 deletions
@@ -497,8 +497,22 @@ public class MySqlExprParser extends SQLExprParser {
}
accept(Token.RPAREN);
return primaryRest(methodInvokeExpr);
//
if (methodInvokeExpr.getParameters().size() == 1 //
&& lexer.token() == Token.IDENTIFIER) {
SQLExpr value = methodInvokeExpr.getParameters().get(0);
String unit = lexer.stringVal();
lexer.nextToken();
MySqlIntervalExpr intervalExpr = new MySqlIntervalExpr();
intervalExpr.setValue(value);
intervalExpr.setUnit(MySqlIntervalUnit.valueOf(unit.toUpperCase()));
return intervalExpr;
} else {
return primaryRest(methodInvokeExpr);
}
} else {
SQLExpr value = expr();