提交 9304ad4b authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Fix commit e063498f

上级 e78ce27d
...@@ -4567,7 +4567,7 @@ public class Parser { ...@@ -4567,7 +4567,7 @@ public class Parser {
c = chars[i]; c = chars[i];
if (c < '0' || c > '9') { if (c < '0' || c > '9') {
if (c == '.' || c == 'E' || c == 'L') { if (c == '.' || c == 'E' || c == 'L') {
readDecimal(start, i); readDecimal(start, i, c == 'L');
break; break;
} }
checkLiterals(false); checkLiterals(false);
...@@ -4579,7 +4579,7 @@ public class Parser { ...@@ -4579,7 +4579,7 @@ public class Parser {
} }
number = number * 10 + (c - '0'); number = number * 10 + (c - '0');
if (number > Integer.MAX_VALUE) { if (number > Integer.MAX_VALUE) {
readDecimal(start, i); readDecimal(start, i, true);
break; break;
} }
i++; i++;
...@@ -4592,7 +4592,7 @@ public class Parser { ...@@ -4592,7 +4592,7 @@ public class Parser {
parseIndex = i; parseIndex = i;
return; return;
} }
readDecimal(i - 1, i); readDecimal(i - 1, i, false);
return; return;
case CHAR_STRING: { case CHAR_STRING: {
String result = null; String result = null;
...@@ -4689,10 +4689,9 @@ public class Parser { ...@@ -4689,10 +4689,9 @@ public class Parser {
currentTokenType = VALUE; currentTokenType = VALUE;
} }
private void readDecimal(int start, int i) { private void readDecimal(int start, int i, boolean integer) {
char[] chars = sqlCommandChars; char[] chars = sqlCommandChars;
int[] types = characterTypes; int[] types = characterTypes;
boolean integer = true;
// go until the first non-number // go until the first non-number
while (true) { while (true) {
int t = types[i]; int t = types[i];
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论