bug fixed for oracle sql parser.

This commit is contained in:
wenshao
2017-07-14 15:48:49 +08:00
parent e4eef93022
commit 9e105a68f2
3 changed files with 93 additions and 9 deletions
@@ -987,19 +987,28 @@ public class OracleStatementParser extends SQLStatementParser {
public SQLStatement parseSet() {
accept(Token.SET);
acceptIdentifier("TRANSACTION");
OracleSetTransactionStatement stmt = new OracleSetTransactionStatement();
if (identifierEquals("READ")) {
if (identifierEquals("TRANSACTION")) {
lexer.nextToken();
acceptIdentifier("ONLY");
stmt.setReadOnly(true);
OracleSetTransactionStatement stmt = new OracleSetTransactionStatement();
if (identifierEquals("READ")) {
lexer.nextToken();
acceptIdentifier("ONLY");
stmt.setReadOnly(true);
}
acceptIdentifier("NAME");
stmt.setName(this.exprParser.expr());
return stmt;
}
acceptIdentifier("NAME");
SQLSetStatement stmt = new SQLSetStatement(getDbType());
parseAssignItems(stmt.getItems(), stmt);
stmt.setName(this.exprParser.expr());
stmt.putAttribute("parser.set", Boolean.TRUE);
return stmt;
}