case TIME_MICROS: case TIMESTAMP_MICROS: return new UnboxedReader<>(desc); case TIME_MILLIS: return new TimeMillisReader(desc); return new IntAsLongReader(desc); } else { return new UnboxedReader<>(desc); return new FloatAsDoubleReader(desc); } else { return new UnboxedReader<>(desc); return new UnboxedReader<>(desc); default: throw new UnsupportedOperationException("Unsupported type: " + primitive);
switch (type.asPrimitiveType().getPrimitiveTypeName()) { case BOOLEAN: return (record, pos, ignored) -> setBoolean(record, pos, unboxed.readBoolean()); case INT32: return (record, pos, ignored) -> setInteger(record, pos, unboxed.readInteger()); case INT64: return (record, pos, ignored) -> setLong(record, pos, unboxed.readLong()); case FLOAT: return (record, pos, ignored) -> setFloat(record, pos, unboxed.readFloat()); case DOUBLE: return (record, pos, ignored) -> setDouble(record, pos, unboxed.readDouble()); case FIXED_LEN_BYTE_ARRAY: case BINARY: return (record, pos, ignored) -> set(record, pos, unboxed.readBinary()); default: throw new UnsupportedOperationException("Unsupported type: " + type);
return new IntAsLongReader(desc); } else { return new UnboxedReader<>(desc); return new UnboxedReader<>(desc); case DATE: return new DateReader(desc); return new IntAsLongReader(desc); } else { return new UnboxedReader<>(desc); return new ParquetValueReaders.FloatAsDoubleReader(desc); } else { return new UnboxedReader<>(desc); return new UnboxedReader<>(desc); default: throw new UnsupportedOperationException("Unsupported type: " + primitive);
return new IntAsLongReader(desc); } else { return new UnboxedReader(desc); return new UnboxedReader<>(desc); case TIMESTAMP_MILLIS: return new TimestampMillisReader(desc); return new IntAsLongReader(desc); } else { return new UnboxedReader<>(desc); return new FloatAsDoubleReader(desc); } else { return new UnboxedReader<>(desc); return new UnboxedReader<>(desc); default: throw new UnsupportedOperationException("Unsupported type: " + primitive);
return new IntAsLongReader(desc); } else { return new UnboxedReader(desc); case INT_64: return new UnboxedReader<>(desc); case TIMESTAMP_MILLIS: return new TimestampMillisReader(desc); case TIMESTAMP_MICROS: return new TimestampMicrosReader(desc); return new IntAsLongReader(desc); } else { return new UnboxedReader<>(desc); return new FloatAsDoubleReader(desc); } else { return new UnboxedReader<>(desc); return new UnboxedReader<>(desc); default: throw new UnsupportedOperationException("Unsupported type: " + primitive);
@Override public double readDouble() { return super.readFloat(); } }
@Override public long readLong() { return super.readInteger(); } }