improved sql parser.

This commit is contained in:
wenshao
2017-09-17 17:11:26 +08:00
parent b54a987cc8
commit 3c98a1eee5
23 changed files with 955 additions and 31 deletions
@@ -446,7 +446,7 @@ public class SQLTransformUtils {
int precision, scale = 0;
if (arg0 instanceof SQLAllColumnExpr) {
precision = 19;
scale = 0;
scale = -1;
} else {
precision = ((SQLIntegerExpr) arg0).getNumber().intValue();
}
@@ -476,6 +476,8 @@ public class SQLTransformUtils {
} else {
dataType = new SQLDataTypeImpl(SQLDataType.Constants.DECIMAL, precision);
}
} else if (scale == -1) {
dataType = new SQLDataTypeImpl(SQLDataType.Constants.DOUBLE_PRECISION);
} else {
dataType = new SQLDataTypeImpl(SQLDataType.Constants.DECIMAL, precision, scale);
}
@@ -622,4 +624,13 @@ public class SQLTransformUtils {
return dataType;
}
public static SQLExpr transformOracleToPostgresql(SQLMethodInvokeExpr x) {
long nameHashCode64 = x.methodNameHashCode64();
if (nameHashCode64 == FnvHash.Constants.SYS_GUID) {
SQLMethodInvokeExpr uuid_generate_v4 = new SQLMethodInvokeExpr("uuid_generate_v4");
return uuid_generate_v4;
}
return x;
}
}