in src/main/core-api/java/com/mysql/cj/MysqlType.java [626:696]
public static MysqlType getByJdbcType(int jdbcType) {
switch (jdbcType) {
case Types.BIGINT:
return BIGINT;
case Types.BINARY:
return BINARY;
case Types.BIT:
return BIT;
case Types.BOOLEAN:
return BOOLEAN;
case Types.CHAR:
case Types.NCHAR: // TODO check that it's correct
return CHAR;
case Types.DATE:
return DATE;
case Types.DECIMAL:
case Types.NUMERIC:
return DECIMAL;
case Types.DOUBLE:
case Types.FLOAT:
return DOUBLE;
case Types.INTEGER:
return INT;
case Types.LONGVARBINARY:
case Types.BLOB: // TODO check that it's correct
case Types.JAVA_OBJECT: // TODO check that it's correct
return BLOB;
case Types.LONGVARCHAR:
case Types.LONGNVARCHAR: // TODO check that it's correct
case Types.CLOB: // TODO check that it's correct
case Types.NCLOB: // TODO check that it's correct
return TEXT;
case Types.NULL:
return NULL;
case Types.REAL:
return FLOAT;
case Types.SMALLINT:
return SMALLINT;
case Types.TIME:
return TIME;
case Types.TIMESTAMP:
return TIMESTAMP;
case Types.TINYINT:
return TINYINT;
case Types.VARBINARY:
return VARBINARY;
case Types.VARCHAR:
case Types.NVARCHAR: // TODO check that it's correct
case Types.DATALINK: // TODO check that it's correct
case Types.SQLXML: // TODO check that it's correct
return VARCHAR;
case Types.REF_CURSOR:
throw new FeatureNotAvailableException("REF_CURSOR type is not supported");
case Types.TIME_WITH_TIMEZONE:
throw new FeatureNotAvailableException("TIME_WITH_TIMEZONE type is not supported");
case Types.TIMESTAMP_WITH_TIMEZONE:
throw new FeatureNotAvailableException("TIMESTAMP_WITH_TIMEZONE type is not supported");
// TODO check next types
case Types.ARRAY:
case Types.DISTINCT:
case Types.OTHER:
case Types.REF:
case Types.ROWID:
case Types.STRUCT:
default:
return UNKNOWN;
}
}