/** * Get the runtime type name for the given SQL type * @param sqlType * @return */ public static final String getDataTypeNameFromSQLType(int sqlType) { if (sqlType == Types.ARRAY) { return RUNTIME_NAMES.OBJECT; } return JDBCSQLTypeInfo.getTypeName(sqlType); }
public boolean supportsConvert(int fromType, int toType) throws SQLException { String fromName = JDBCSQLTypeInfo.getTypeName(fromType); String toName = JDBCSQLTypeInfo.getTypeName(toType); if (fromName.equals(toName)) { if (fromName.equals(DataTypeManager.DefaultDataTypes.OBJECT) && fromName != toName) { return false; } return true; } return DataTypeManager.isTransformable(fromName, toName); }
public boolean supportsConvert(int fromType, int toType) throws SQLException { String fromName = JDBCSQLTypeInfo.getTypeName(fromType); String toName = JDBCSQLTypeInfo.getTypeName(toType); if (fromName.equals(toName)) { if (fromName.equals(DataTypeManager.DefaultDataTypes.OBJECT) && fromName != toName) { return false; } return true; } return DataTypeManager.isTransformable(fromName, toName); }
@Test public void testJDBCSQLTypeInfo() { Set<String> types = JDBCSQLTypeInfo.getMMTypeNames(); for (String type : types) { assertEquals("Didn't get match for "+ type, JDBCSQLTypeInfo.getSQLType(type), JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.getDataTypeClass(type))); //$NON-NLS-1$ //the classnames will not match the runtime types for xml, clob, blob if (!type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.NULL) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.VARBINARY) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.XML) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.CLOB) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.BLOB) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.JSON)) { assertEquals("Didn't get match for "+ type, JDBCSQLTypeInfo.getSQLType(type), JDBCSQLTypeInfo.getSQLTypeFromClass(DataTypeManager.getDataTypeClass(type).getName())); //$NON-NLS-1$ } } assertEquals(Types.TIMESTAMP, JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.TIMESTAMP)); assertEquals(Types.SQLXML, JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.XML)); assertEquals(DataTypeManager.DefaultDataTypes.STRING, JDBCSQLTypeInfo.getTypeName(Types.CHAR)); assertEquals(Types.CHAR, JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.CHAR)); assertEquals(Types.ARRAY, JDBCSQLTypeInfo.getSQLType(DataTypeManager.getDataTypeName(DataTypeManager.getArrayType(DataTypeManager.DefaultDataClasses.BIG_DECIMAL)))); }
String typeName = JDBCSQLTypeInfo.getTypeName(targetJdbcType); int typeCode = DataTypeManager.getTypeCode(DataTypeManager.getDataTypeClass(typeName));
String typeName = JDBCSQLTypeInfo.getTypeName(targetJdbcType); int typeCode = DataTypeManager.getTypeCode(DataTypeManager.getDataTypeClass(typeName));