improved sql parser.

This commit is contained in:
wenshao
2017-11-07 19:03:55 +08:00
parent d6e9cfbd4f
commit 2da49394c9
3 changed files with 95 additions and 1 deletions
@@ -885,6 +885,8 @@ public class OracleExprParser extends SQLExprParser {
interval.setValue(new SQLCharExpr(lexer.stringVal()));
} else if (lexer.token() == Token.VARIANT) {
interval.setValue(new SQLVariantRefExpr(lexer.stringVal()));
} else if (lexer.token() == Token.QUES) {
interval.setValue(new SQLVariantRefExpr("?"));
} else {
return new SQLIdentifierExpr("INTERVAL");
}
@@ -179,7 +179,8 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS
}
public boolean visit(OracleIntervalExpr x) {
if (x.getValue() instanceof SQLLiteralExpr) {
SQLExpr value = x.getValue();
if (value instanceof SQLLiteralExpr || value instanceof SQLVariantRefExpr) {
print0(ucase ? "INTERVAL " : "interval ");
x.getValue().accept(this);
print(' ');