in catalogs/catalog-lakehouse-iceberg/src/main/java/org/apache/gravitino/catalog/lakehouse/iceberg/converter/FromIcebergType.java [78:117]
public Type primitive(org.apache.iceberg.types.Type.PrimitiveType primitive) {
switch (primitive.typeId()) {
case BOOLEAN:
return org.apache.gravitino.rel.types.Types.BooleanType.get();
case INTEGER:
return org.apache.gravitino.rel.types.Types.IntegerType.get();
case LONG:
return org.apache.gravitino.rel.types.Types.LongType.get();
case FLOAT:
return org.apache.gravitino.rel.types.Types.FloatType.get();
case DOUBLE:
return org.apache.gravitino.rel.types.Types.DoubleType.get();
case DATE:
return org.apache.gravitino.rel.types.Types.DateType.get();
case TIME:
return org.apache.gravitino.rel.types.Types.TimeType.get();
case TIMESTAMP:
Types.TimestampType ts = (Types.TimestampType) primitive;
if (ts.shouldAdjustToUTC()) {
return org.apache.gravitino.rel.types.Types.TimestampType.withTimeZone();
} else {
return org.apache.gravitino.rel.types.Types.TimestampType.withoutTimeZone();
}
case STRING:
return org.apache.gravitino.rel.types.Types.StringType.get();
case UUID:
return org.apache.gravitino.rel.types.Types.UUIDType.get();
case FIXED:
Types.FixedType fixedType = (Types.FixedType) primitive;
return org.apache.gravitino.rel.types.Types.FixedType.of(fixedType.length());
case BINARY:
return org.apache.gravitino.rel.types.Types.BinaryType.get();
case DECIMAL:
Types.DecimalType decimal = (Types.DecimalType) primitive;
return org.apache.gravitino.rel.types.Types.DecimalType.of(
decimal.precision(), decimal.scale());
default:
return org.apache.gravitino.rel.types.Types.ExternalType.of(primitive.typeId().name());
}
}