This commit is contained in:
温少
2012-05-16 08:35:33 +08:00
parent 3cbd0c852f
commit 2c8f9793e6
6 changed files with 7 additions and 17 deletions
@@ -402,7 +402,7 @@ public class OracleExprParser extends SQLExprParser {
expr = interval;
}
if (lexer.token() == Token.AT) {
if (identifierEquals("AT")) {
char mark_ch = lexer.current();
int mark_bp = lexer.bp();
lexer.nextToken();
@@ -410,10 +410,10 @@ public class OracleExprParser extends SQLExprParser {
lexer.nextToken();
expr = new OracleDatetimeExpr(expr, new SQLIdentifierExpr("LOCAL"));
} else {
if (lexer.token() == Token.TIME) {
if (identifierEquals("TIME")) {
lexer.nextToken();
} else {
lexer.reset(mark_bp, mark_ch, Token.AT);
lexer.reset(mark_bp, mark_ch, Token.IDENTIFIER);
return expr;
}
accept(Token.ZONE);
@@ -104,7 +104,6 @@ public class OracleLexer extends Lexer {
map.put("MERGE", Token.MERGE);
map.put("USING", Token.USING);
map.put("MATCHED", Token.MATCHED);
map.put("LOG", Token.LOG);
map.put("ERRORS", Token.ERRORS);
map.put("REJECT", Token.REJECT);
map.put("UNLIMITED", Token.UNLIMITED);
@@ -119,9 +118,7 @@ public class OracleLexer extends Lexer {
map.put("NOWAIT", Token.NOWAIT);
map.put("SESSION", Token.SESSION);
map.put("PROCEDURE", Token.PROCEDURE);
map.put("AT", Token.AT);
map.put("LOCAL", Token.LOCAL);
map.put("TIME", Token.TIME);
map.put("ZONE", Token.ZONE);
map.put("SYSDATE", Token.SYSDATE);
map.put("DECLARE", Token.DECLARE);
@@ -592,7 +592,7 @@ public class OracleStatementParser extends SQLStatementParser {
if (identifierEquals("SNAPSHOT")) {
lexer.nextToken();
accept(Token.LOG);
acceptIdentifier("LOG");
stmt.setPurgeSnapshotLog(true);
} else {
throw new ParserException("TODO : " + lexer.token() + " " + lexer.stringVal());
@@ -964,7 +964,7 @@ public class OracleStatementParser extends SQLStatementParser {
OracleAlterTableSplitPartition item = new OracleAlterTableSplitPartition();
item.setName(this.exprParser.name());
if (lexer.token() == Token.AT) {
if (identifierEquals("AT")) {
lexer.nextToken();
accept(Token.LPAREN);
this.exprParser.exprList(item.getAt());
@@ -1340,7 +1340,7 @@ public class OracleStatementParser extends SQLStatementParser {
}
private OracleErrorLoggingClause parseErrorLoggingClause() {
if (lexer.token() == Token.LOG) {
if (identifierEquals("LOG")) {
OracleErrorLoggingClause errorClause = new OracleErrorLoggingClause();
lexer.nextToken();