mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
bug fixed for oracle sql parser
This commit is contained in:
@@ -270,8 +270,12 @@ public class Lexer {
|
||||
unscan();
|
||||
scanNumber();
|
||||
return;
|
||||
} else if (ch == '.') {
|
||||
scanChar();
|
||||
token = Token.DOTDOT;
|
||||
} else {
|
||||
token = Token.DOT;
|
||||
}
|
||||
token = Token.DOT;
|
||||
return;
|
||||
case '\'':
|
||||
scanString();
|
||||
@@ -689,6 +693,10 @@ public class Lexer {
|
||||
boolean isDouble = false;
|
||||
|
||||
if (ch == '.') {
|
||||
if (buf[bp + 1] == '.') {
|
||||
token = Token.LITERAL_INT;
|
||||
return;
|
||||
}
|
||||
sp++;
|
||||
ch = buf[++bp];
|
||||
isDouble = true;
|
||||
@@ -869,15 +877,15 @@ public class Lexer {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public int bp() {
|
||||
return this.bp;
|
||||
}
|
||||
|
||||
|
||||
public char current() {
|
||||
return this.ch;
|
||||
}
|
||||
|
||||
|
||||
public void reset(int mark, char mark_ch, Token token) {
|
||||
this.bp = mark;
|
||||
this.ch = mark_ch;
|
||||
|
||||
@@ -170,6 +170,7 @@ public enum Token {
|
||||
EXCEPTION("EXCEPTION"),
|
||||
GRANT("GRANT"),
|
||||
LOOP("LOOP"),
|
||||
GOTO("GOTO"),
|
||||
|
||||
// transact-sql
|
||||
TOP("TOP"),
|
||||
@@ -207,6 +208,7 @@ public enum Token {
|
||||
SEMI(";"),
|
||||
COMMA(","),
|
||||
DOT("."),
|
||||
DOTDOT(".."),
|
||||
EQ("="),
|
||||
GT(">"),
|
||||
LT("<"),
|
||||
|
||||
Reference in New Issue
Block a user