Exemple #1
0
  public Field(Field field) {
    this.type = field.type;
    this.indexed = false;

    if (Types.isArrayType(this.type) || Types.isMapType(this.type)) {
      this.value = field.value;
      return;
    }

    if (type.equals(BIGINT)) {
      this.value = field.getLong();
    } else if (type.equals(BOOLEAN)) {
      this.value = field.getBoolean();
    } else if (type.equals(DATE)) {
      this.value = new Date(field.getDate().getTime());
    } else if (type.equals(DOUBLE)) {
      this.value = field.getDouble();
    } else if (type.equals(INTEGER)) {
      this.value = field.getInt();
    } else if (type.equals(REAL)) {
      this.value = field.getFloat();
    } else if (type.equals(SMALLINT)) {
      this.value = field.getShort();
    } else if (type.equals(TIME)) {
      this.value = new Time(field.getTime().getTime());
    } else if (type.equals(TIMESTAMP)) {
      this.value = new Timestamp(field.getTimestamp().getTime());
    } else if (type.equals(TINYINT)) {
      this.value = field.getByte();
    } else if (type.equals(VARBINARY)) {
      this.value = Arrays.copyOf(field.getVarbinary(), field.getVarbinary().length);
    } else if (type.equals(VARCHAR)) {
      this.value = field.getVarchar();
    } else {
      throw new PrestoException(NOT_SUPPORTED, "Unsupported type " + type);
    }
  }