diff --git a/src/main/java/com/alibaba/druid/sql/SQLTransformUtils.java b/src/main/java/com/alibaba/druid/sql/SQLTransformUtils.java index a274caab5d..720e8406d7 100644 --- a/src/main/java/com/alibaba/druid/sql/SQLTransformUtils.java +++ b/src/main/java/com/alibaba/druid/sql/SQLTransformUtils.java @@ -416,16 +416,16 @@ public class SQLTransformUtils { len = ((SQLIntegerExpr) arg0).getNumber().intValue(); } } - dataType = new SQLDataTypeImpl("varchar", len); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.VARCHAR, len); } else if (nameHash == FnvHash.Constants.ROWID) { - dataType = new SQLDataTypeImpl("char", 10); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.CHAR, 10); - } else if (nameHash == FnvHash.Constants.BOOLEAN) { - dataType = new SQLDataTypeImpl("tinyint"); + } else if (nameHash == FnvHash.Constants.BOOLEAN || nameHash == FnvHash.Constants.SMALLINT) { + dataType = new SQLDataTypeImpl(SQLDataType.Constants.SMALLINT); } else if (nameHash == FnvHash.Constants.INTEGER || nameHash == FnvHash.Constants.INT) { - dataType = new SQLDataTypeImpl("decimal", 38); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.DECIMAL, 38); } else if (nameHash == FnvHash.Constants.BINARY_FLOAT) { dataType = new SQLDataTypeImpl("real"); @@ -439,7 +439,7 @@ public class SQLTransformUtils { } else if (nameHash == FnvHash.Constants.NUMBER) { if (argumentns.size() == 0) { - dataType = new SQLDataTypeImpl("decimal", 38); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.DECIMAL, 38); } else { SQLExpr arg0 = argumentns.get(0); @@ -468,23 +468,23 @@ public class SQLTransformUtils { if (scale == 0) { if (precision < 5) { - dataType = new SQLDataTypeImpl("smallint"); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.SMALLINT); } else if (precision < 9) { - dataType = new SQLDataTypeImpl("int"); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.INT); } else if (precision <= 20) { - dataType = new SQLDataTypeImpl("bigint"); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.BIGINT); } else { - dataType = new SQLDataTypeImpl("decimal", precision); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.DECIMAL, precision); } } else { - dataType = new SQLDataTypeImpl("decimal", precision, scale); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.DECIMAL, precision, scale); } } } else if (nameHash == FnvHash.Constants.DEC || nameHash == FnvHash.Constants.DECIMAL) { dataType = x.clone(); - dataType.setName("decimal"); + dataType.setName(SQLDataType.Constants.DECIMAL); int precision = 0; if (argumentns.size() > 0) { @@ -509,9 +509,9 @@ public class SQLTransformUtils { } else { throw new UnsupportedOperationException(SQLUtils.toOracleString(x)); } - dataType = new SQLCharacterDataType("char", len); + dataType = new SQLCharacterDataType(SQLDataType.Constants.CHAR, len); } else if (argumentns.size() == 0) { - dataType = new SQLCharacterDataType("char"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.CHAR); } else { throw new UnsupportedOperationException(SQLUtils.toOracleString(x)); } @@ -528,17 +528,19 @@ public class SQLTransformUtils { if (len <= 2000) { dataType = x; + dataType.setName(SQLDataType.Constants.CHAR); } else { - dataType = new SQLCharacterDataType("text"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.TEXT); } } else if (argumentns.size() == 0) { - dataType = new SQLCharacterDataType("char"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.CHAR); } else { throw new UnsupportedOperationException(SQLUtils.toOracleString(x)); } } else if (nameHash == FnvHash.Constants.NCHAR) { // no changed dataType = x; + dataType.setName(SQLDataType.Constants.NCHAR); } else if (nameHash == FnvHash.Constants.VARCHAR || nameHash == FnvHash.Constants.VARCHAR2) { if (argumentns.size() > 0) { @@ -551,15 +553,16 @@ public class SQLTransformUtils { } if (len <= 4000) { - dataType = new SQLCharacterDataType("varchar", len); + dataType = new SQLCharacterDataType(SQLDataType.Constants.VARCHAR, len); } else { - dataType = new SQLCharacterDataType("text"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.TEXT); } } else { - dataType = new SQLCharacterDataType("varchar"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.VARCHAR); } - } else if (nameHash == FnvHash.Constants.NVARCHAR2 + } else if (nameHash == FnvHash.Constants.NVARCHAR + || nameHash == FnvHash.Constants.NVARCHAR2 || nameHash == FnvHash.Constants.NCHAR_VARYING) { if (argumentns.size() > 0) { int len; @@ -569,13 +572,13 @@ public class SQLTransformUtils { } else { throw new UnsupportedOperationException(SQLUtils.toOracleString(x)); } - dataType = new SQLCharacterDataType("varchar", len); + dataType = new SQLCharacterDataType(SQLDataType.Constants.VARCHAR, len); } else { - dataType = new SQLCharacterDataType("varchar"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.VARCHAR); } } else if (nameHash == FnvHash.Constants.BFILE) { - dataType = new SQLCharacterDataType("varchar", 255); + dataType = new SQLCharacterDataType(SQLDataType.Constants.VARCHAR, 255); } else if (nameHash == FnvHash.Constants.DATE || nameHash == FnvHash.Constants.DATETIME @@ -591,24 +594,24 @@ public class SQLTransformUtils { } if (len > 0) { - dataType = new SQLDataTypeImpl("timestamp", len); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.TIMESTAMP, len); } else { - dataType = new SQLDataTypeImpl("timestamp"); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.TIMESTAMP); } } else if (nameHash == FnvHash.Constants.BLOB || nameHash == FnvHash.Constants.LONG_RAW || nameHash == FnvHash.Constants.RAW) { argumentns.clear(); - dataType = new SQLDataTypeImpl("bytea"); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.BYTEA); } else if (nameHash == FnvHash.Constants.CLOB || nameHash == FnvHash.Constants.NCLOB || nameHash == FnvHash.Constants.LONG) { argumentns.clear(); - dataType = new SQLCharacterDataType("text"); + dataType = new SQLCharacterDataType(SQLDataType.Constants.TEXT); } else if (nameHash == FnvHash.Constants.XMLTYPE) { - dataType = new SQLDataTypeImpl("xml"); + dataType = new SQLDataTypeImpl(SQLDataType.Constants.XML); } else { dataType = x; } diff --git a/src/main/java/com/alibaba/druid/sql/ast/SQLDataType.java b/src/main/java/com/alibaba/druid/sql/ast/SQLDataType.java index 884d8c9a04..2e15d03348 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/SQLDataType.java +++ b/src/main/java/com/alibaba/druid/sql/ast/SQLDataType.java @@ -36,4 +36,21 @@ public interface SQLDataType extends SQLObject { void setDbType(String dbType); String getDbType(); + + interface Constants { + String CHAR = "CHAR"; + String NCHAR = "NCHAR"; + String VARCHAR = "VARCHAR"; + String TIMESTAMP = "TIMESTAMP"; + String XML = "XML"; + + String DECIMAL = "DECIMAL"; + String NUMBER = "NUMBER"; + String TINYINT = "TINYINT"; + String SMALLINT = "SMALLINT"; + String INT = "INT"; + String BIGINT = "BIGINT"; + String TEXT = "TEXT"; + String BYTEA = "BYTEA"; + } } diff --git a/src/main/java/com/alibaba/druid/sql/ast/SQLDataTypeImpl.java b/src/main/java/com/alibaba/druid/sql/ast/SQLDataTypeImpl.java index adbf08ebed..646d1a4c0d 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/SQLDataTypeImpl.java +++ b/src/main/java/com/alibaba/druid/sql/ast/SQLDataTypeImpl.java @@ -101,10 +101,8 @@ public class SQLDataTypeImpl extends SQLObjectImpl implements SQLDataType { @Override public int hashCode() { - int result = name != null ? name.hashCode() : 0; - result = 31 * result + (arguments != null ? arguments.hashCode() : 0); - result = 31 * result + (withTimeZone != null ? withTimeZone.hashCode() : 0); - return result; + long value = nameHashCode64(); + return (int)(value ^ (value >>> 32)); } @Override @@ -143,6 +141,7 @@ public class SQLDataTypeImpl extends SQLObjectImpl implements SQLDataType { public void cloneTo(SQLDataTypeImpl x) { x.dbType = dbType; x.name = name; + x.nameHashCode64 = nameHashCode64; for (SQLExpr arg : arguments) { x.addArgument(arg.clone()); diff --git a/src/main/java/com/alibaba/druid/util/FnvHash.java b/src/main/java/com/alibaba/druid/util/FnvHash.java index fa40e3a216..48a448f6cc 100644 --- a/src/main/java/com/alibaba/druid/util/FnvHash.java +++ b/src/main/java/com/alibaba/druid/util/FnvHash.java @@ -302,6 +302,7 @@ public final class FnvHash { long TARGET_AFFECT_ROW = fnv1a_64_lower("TARGET_AFFECT_ROW"); long COLLATE = fnv1a_64_lower("COLLATE"); long BOOLEAN = fnv1a_64_lower("BOOLEAN"); + long SMALLINT = fnv1a_64_lower("SMALLINT"); long CHARSET = fnv1a_64_lower("CHARSET"); long SEMI = fnv1a_64_lower("SEMI"); long ANTI = fnv1a_64_lower("ANTI"); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_chars.java b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_chars.java index b400ede13d..1b5cc677a6 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_chars.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_chars.java @@ -8,87 +8,87 @@ import junit.framework.TestCase; public class Oracle2PG_DataTypeTest_chars extends TestCase { public void test_oracle2pg_char() throws Exception { - String sql = "char(10)"; + String sql = "CHAR(10)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("char(10)", pgDataType.toString()); + assertEquals("CHAR(10)", pgDataType.toString()); } public void test_oracle2pg_char_2000() throws Exception { String sql = "char(2000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("char(2000)", pgDataType.toString()); + assertEquals("CHAR(2000)", pgDataType.toString()); } public void test_oracle2pg_char_4000() throws Exception { String sql = "char(4000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("text", pgDataType.toString()); + assertEquals("TEXT", pgDataType.toString()); } public void test_oracle2pg_nchar() throws Exception { String sql = "nchar(10)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("nchar(10)", pgDataType.toString()); + assertEquals("NCHAR(10)", pgDataType.toString()); } public void test_oracle2pg_varchar() throws Exception { String sql = "varchar(10)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("varchar(10)", pgDataType.toString()); + assertEquals("VARCHAR(10)", pgDataType.toString()); } public void test_oracle2pg_varchar_2000() throws Exception { String sql = "varchar(2000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("varchar(2000)", pgDataType.toString()); + assertEquals("VARCHAR(2000)", pgDataType.toString()); } public void test_oracle2pg_varchar_4000() throws Exception { String sql = "varchar(4000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("varchar(4000)", pgDataType.toString()); + assertEquals("VARCHAR(4000)", pgDataType.toString()); } public void test_oracle2pg_varchar_8000() throws Exception { String sql = "varchar(8000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("text", pgDataType.toString()); + assertEquals("TEXT", pgDataType.toString()); } public void test_oracle2pg_nvarchar() throws Exception { String sql = "nvarchar(10)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("nvarchar(10)", pgDataType.toString()); + assertEquals("VARCHAR(10)", pgDataType.toString()); } public void test_urowid() throws Exception { String sql = "urowid(100)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("varchar(100)", pgDataType.toString()); + assertEquals("VARCHAR(100)", pgDataType.toString()); } public void test_bfile() throws Exception { String sql = "bfile"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("varchar(255)", pgDataType.toString()); + assertEquals("VARCHAR(255)", pgDataType.toString()); } public void test_oracle2pg_varchar2_8000() throws Exception { String sql = "varchar2(8000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("text", pgDataType.toString()); + assertEquals("TEXT", pgDataType.toString()); } @@ -96,6 +96,6 @@ public class Oracle2PG_DataTypeTest_chars extends TestCase { String sql = "varchar2(10000)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("text", pgDataType.toString()); + assertEquals("TEXT", pgDataType.toString()); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_datetime.java b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_datetime.java index fb2a6e9958..791150403e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_datetime.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_datetime.java @@ -11,27 +11,27 @@ public class Oracle2PG_DataTypeTest_datetime extends TestCase { String sql = "timestamp"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("timestamp", pgDataType.toString()); + assertEquals("TIMESTAMP", pgDataType.toString()); } public void test_oracle2pg_timestamp_arg() throws Exception { String sql = "timestamp(2)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("timestamp(2)", pgDataType.toString()); + assertEquals("TIMESTAMP(2)", pgDataType.toString()); } public void test_oracle2pg_date() throws Exception { String sql = "date"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("timestamp", pgDataType.toString()); + assertEquals("TIMESTAMP", pgDataType.toString()); } public void test_oracle2pg_datetime() throws Exception { String sql = "datetime"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("timestamp", pgDataType.toString()); + assertEquals("TIMESTAMP", pgDataType.toString()); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_int.java b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_int.java index c6e58d2dde..2b41ebedc5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_int.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_int.java @@ -11,21 +11,21 @@ public class Oracle2PG_DataTypeTest_int extends TestCase { String sql = "int"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("decimal(38)", pgDataType.toString()); + assertEquals("DECIMAL(38)", pgDataType.toString()); } public void test_oracle2pg_integer() throws Exception { String sql = "integer"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("decimal(38)", pgDataType.toString()); + assertEquals("DECIMAL(38)", pgDataType.toString()); } public void test_oracle2pg_smallint() throws Exception { String sql = "smallint"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("smallint", pgDataType.toString()); + assertEquals("SMALLINT", pgDataType.toString()); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_lob.java b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_lob.java index ba26ab43f8..441821b7c3 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_lob.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_lob.java @@ -11,27 +11,27 @@ public class Oracle2PG_DataTypeTest_lob extends TestCase { String sql = "blob"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bytea", pgDataType.toString()); + assertEquals("BYTEA", pgDataType.toString()); } public void test_oracle2pg_long() throws Exception { String sql = "long"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("text", pgDataType.toString()); + assertEquals("TEXT", pgDataType.toString()); } public void test_oracle2pg_long_raw() throws Exception { String sql = "long raw"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bytea", pgDataType.toString()); + assertEquals("BYTEA", pgDataType.toString()); } public void test_oracle2pg_raw() throws Exception { String sql = "raw(100)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bytea", pgDataType.toString()); + assertEquals("BYTEA", pgDataType.toString()); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_number_int.java b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_number_int.java index c4e8a42c4e..20024f5b6c 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_number_int.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/transform/Oracle2PG_DataTypeTest_number_int.java @@ -11,174 +11,174 @@ public class Oracle2PG_DataTypeTest_number_int extends TestCase { String sql = "number(1, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("smallint", pgDataType.toString()); + assertEquals("SMALLINT", pgDataType.toString()); } public void test_oracle2pg_int_2() throws Exception { String sql = "number(2, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("smallint", pgDataType.toString()); + assertEquals("SMALLINT", pgDataType.toString()); } public void test_oracle2pg_int_3() throws Exception { String sql = "number(3, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("smallint", pgDataType.toString()); + assertEquals("SMALLINT", pgDataType.toString()); } public void test_oracle2pg_int_4() throws Exception { String sql = "number(4, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("smallint", pgDataType.toString()); + assertEquals("SMALLINT", pgDataType.toString()); } public void test_oracle2pg_int_5() throws Exception { String sql = "number(5, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("int", pgDataType.toString()); + assertEquals("INT", pgDataType.toString()); } public void test_oracle2pg_int_6() throws Exception { String sql = "number(6, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("int", pgDataType.toString()); + assertEquals("INT", pgDataType.toString()); } public void test_oracle2pg_int_7() throws Exception { String sql = "number(7, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("int", pgDataType.toString()); + assertEquals("INT", pgDataType.toString()); } public void test_oracle2pg_int_8() throws Exception { String sql = "number(8, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("int", pgDataType.toString()); + assertEquals("INT", pgDataType.toString()); } public void test_oracle2pg_int_9() throws Exception { String sql = "number(9, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_10() throws Exception { String sql = "number(10, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_11() throws Exception { String sql = "number(11, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_12() throws Exception { String sql = "number(12, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_13() throws Exception { String sql = "number(13, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_14() throws Exception { String sql = "number(14, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_15() throws Exception { String sql = "number(15, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_16() throws Exception { String sql = "number(16, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_17() throws Exception { String sql = "number(17, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_18() throws Exception { String sql = "number(18, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_19() throws Exception { String sql = "number(19, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_20() throws Exception { String sql = "number(20, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_20_x() throws Exception { String sql = "number(20)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_star() throws Exception { String sql = "number(*)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("bigint", pgDataType.toString()); + assertEquals("BIGINT", pgDataType.toString()); } public void test_oracle2pg_int_21() throws Exception { String sql = "number(21, 0)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("decimal(21)", pgDataType.toString()); + assertEquals("DECIMAL(21)", pgDataType.toString()); } public void test_oracle2pg_decimal() throws Exception { String sql = "decimal(19,1)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("decimal(19, 1)", pgDataType.toString()); + assertEquals("DECIMAL(19, 1)", pgDataType.toString()); } public void test_oracle2pg_dec() throws Exception { String sql = "dec(19,1)"; SQLDataType dataType = SQLParserUtils.createExprParser(sql, JdbcConstants.ORACLE).parseDataType(); SQLDataType pgDataType = SQLTransformUtils.transformOracleToPostgresql(dataType); - assertEquals("decimal(19, 1)", pgDataType.toString()); + assertEquals("DECIMAL(19, 1)", pgDataType.toString()); } }