in catalogs/catalog-jdbc-oceanbase/src/main/java/org/apache/gravitino/catalog/oceanbase/converter/OceanBaseTypeConverter.java [46:91]
public Type toGravitino(JdbcTypeBean typeBean) {
switch (typeBean.getTypeName().toLowerCase()) {
case TINYINT:
return Types.ByteType.get();
case TINYINT_UNSIGNED:
return Types.ByteType.unsigned();
case SMALLINT:
return Types.ShortType.get();
case SMALLINT_UNSIGNED:
return Types.ShortType.unsigned();
case INT:
return Types.IntegerType.get();
case INT_UNSIGNED:
return Types.IntegerType.unsigned();
case BIGINT:
return Types.LongType.get();
case BIGINT_UNSIGNED:
return Types.LongType.unsigned();
case FLOAT:
return Types.FloatType.get();
case DOUBLE:
return Types.DoubleType.get();
case DATE:
return Types.DateType.get();
case TIME:
return Types.TimeType.get();
case TIMESTAMP:
return Types.TimestampType.withTimeZone();
case DATETIME:
return Types.TimestampType.withoutTimeZone();
case NUMBER:
case NUMERIC:
case DECIMAL:
return Types.DecimalType.of(typeBean.getColumnSize(), typeBean.getScale());
case VARCHAR:
return Types.VarCharType.of(typeBean.getColumnSize());
case CHAR:
return Types.FixedCharType.of(typeBean.getColumnSize());
case TEXT:
return Types.StringType.get();
case BINARY:
return Types.BinaryType.get();
default:
return Types.ExternalType.of(typeBean.getTypeName());
}
}