bug fixed sql server sql parser. for issue #1678

This commit is contained in:
wenshao
2017-10-03 16:24:57 +08:00
parent 8818519767
commit 47c0082588
3 changed files with 57 additions and 1 deletions
@@ -16,6 +16,7 @@
package com.alibaba.druid.sql.dialect.sqlserver.ast;
import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr;
import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitor;
public class SQLServerTop extends SQLServerObjectImpl {
@@ -43,6 +44,10 @@ public class SQLServerTop extends SQLServerObjectImpl {
this.expr = expr;
}
public void setExpr(int expr) {
this.setExpr(new SQLIntegerExpr(expr));
}
public boolean isPercent() {
return percent;
}
@@ -158,7 +158,12 @@ public class SQLServerExprParser extends SQLExprParser {
lexer.nextToken();
}
top.setExpr(primary());
if (lexer.token() == Token.LITERAL_INT) {
top.setExpr(lexer.integerValue().intValue());
lexer.nextToken();
} else {
top.setExpr(primary());
}
if (paren) {
accept(Token.RPAREN);