improved oracle sql parser support fetch clause. issue #1448

This commit is contained in:
wenshao
2016-10-14 17:48:10 +08:00
parent 27e6b8f9f4
commit 4f612ec2e0
9 changed files with 139 additions and 36 deletions
@@ -540,4 +540,25 @@ public class SQLSelectParser extends SQLParser {
}
}
public void parseFetchClause(SQLSelectQueryBlock queryBlock) {
if (lexer.token() == Token.FETCH) {
lexer.nextToken();
if (lexer.token() == Token.FIRST) {
lexer.nextToken();
} else {
acceptIdentifier("FIRST");
}
SQLExpr first = this.exprParser.primary();
queryBlock.setFirst(first);
if (identifierEquals("ROW") || identifierEquals("ROWS")) {
lexer.nextToken();
}
if (lexer.token() == Token.ONLY) {
lexer.nextToken();
} else {
acceptIdentifier("ONLY");
}
}
}
}