提交 fdb00662 编写于 作者: S Serge Rider

#5887 SQL formatting and exp numbers notation fix

上级 33e3f6e4
...@@ -118,16 +118,18 @@ public class SQLFormatterTokenized implements SQLFormatter { ...@@ -118,16 +118,18 @@ public class SQLFormatterTokenized implements SQLFormatter {
FormatterToken prev = argList.get(index - 1); FormatterToken prev = argList.get(index - 1);
token = argList.get(index); token = argList.get(index);
String prevString = prev.getString();
String curString = token.getString();
if (prev.getType() != TokenType.SPACE && if (prev.getType() != TokenType.SPACE &&
token.getType() != TokenType.SPACE && token.getType() != TokenType.SPACE &&
!prev.getString().equals("(") && !prevString.equals("(") &&
!token.getString().startsWith("(") && !curString.startsWith("(") &&
!prev.getString().equals(")") && !prevString.equals(")") &&
!token.getString().equals(")")) { !curString.equals(")")) {
if (token.getString().equals(",") || statementDelimiters.contains(token.getString())) { //$NON-NLS-1$ if (curString.equals(",") || statementDelimiters.contains(curString)) { //$NON-NLS-1$
continue; continue;
} }
if (formatterCfg.isFunction(prev.getString()) && token.getString().equals("(")) { //$NON-NLS-1$ if (formatterCfg.isFunction(prevString) && curString.equals("(")) { //$NON-NLS-1$
continue; continue;
} }
if (token.getType() == TokenType.VALUE && prev.getType() == TokenType.NAME) { if (token.getType() == TokenType.VALUE && prev.getType() == TokenType.NAME) {
...@@ -143,6 +145,14 @@ public class SQLFormatterTokenized implements SQLFormatter { ...@@ -143,6 +145,14 @@ public class SQLFormatterTokenized implements SQLFormatter {
// Do not add space between symbols // Do not add space between symbols
continue; continue;
} }
if ("+".equals(curString) &&
prevString.length() > 1 && Character.isDigit(prevString.charAt(0)) &&
(prevString.charAt(prevString.length() - 1) == 'E' || prevString.charAt(prevString.length() - 1) == 'e'))
{
// Possible exponential numbers notation (5E+6)
index++;
continue;
}
argList.add(index, new FormatterToken(TokenType.SPACE, " ")); //$NON-NLS-1$ argList.add(index, new FormatterToken(TokenType.SPACE, " ")); //$NON-NLS-1$
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册