public Type primitive()

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());
    }
  }