sql parser支持中文空格和逗号

This commit is contained in:
wenshao
2013-07-30 20:00:40 +08:00
parent 17a38588c5
commit 63574c4702
3 changed files with 1045 additions and 1038 deletions
@@ -53,7 +53,10 @@ public class CharTypes {
}
public static boolean isFirstIdentifierChar(char c) {
return c > firstIdentifierFlags.length || firstIdentifierFlags[c];
if (c <= firstIdentifierFlags.length) {
return firstIdentifierFlags[c];
}
return c != ' ' && c != ',';
}
private final static boolean[] identifierFlags = new boolean[256];
@@ -74,7 +77,10 @@ public class CharTypes {
}
public static boolean isIdentifierChar(char c) {
return c > identifierFlags.length || identifierFlags[c];
if (c <= identifierFlags.length) {
return identifierFlags[c];
}
return c != ' ' && c != ',';
}
private final static boolean[] whitespaceFlags = new boolean[256];
@@ -93,7 +99,7 @@ public class CharTypes {
*/
public static boolean isWhitespace(char c) {
return (c <= whitespaceFlags.length && whitespaceFlags[c]) //
|| c == ' '; // Chinese space
|| c == ' '; // Chinese space
}
}
File diff suppressed because it is too large Load Diff
@@ -29,7 +29,7 @@ public class OracleSelectTest45 extends OracleTest {
public void test_0() throws Exception {
String sql = //
"SELECT T1.BC_ID AS BCID,SUM(PRODUCT_NUM) AS COUNT " //
"SELECT T1.BC_ID AS BCID,SUM(PRODUCT_NUM) AS COUNT " //
+ "  FROM MT_PRODUCT_ORDER T1 ,MT_ORDER T2 " //
+ "  WHERE T1.MT_ORDER_ID= T2.MT_ORDER_ID " //
+ "AND T2.PUBLISH_TIME>= ? " //