DecimalWriter writer = isRepeated ? list(name).decimal() :
getWriterProvider().decimal(name, type.getDecimalMetadata().getScale(), type.getDecimalMetadata().getPrecision());
return new Decimal9Converter(writer, type.getDecimalMetadata().getPrecision(), type.getDecimalMetadata().getScale(), mutator.getManagedBuffer());
DecimalWriter writer = isRepeated ? list(name).decimal() :
getWriterProvider().decimal(name, metadata.getScale(), metadata.getPrecision());
return new Decimal18Converter(writer, type.getDecimalMetadata().getPrecision(), type.getDecimalMetadata().getScale(), mutator.getManagedBuffer());
} else {
VarBinaryWriter writer = type.getRepetition() == Repetition.REPEATED ? getWriterProvider().list(name).varBinary() : getWriterProvider().varBinary(name);
return new FixedBinaryToVarbinaryConverter(writer, DeprecatedParquetVectorizedReader.getTypeLengthInBits(type.getPrimitiveTypeName()) / 8, mutator.getManagedBuffer());
case UTF8: {
VarCharWriter writer = isRepeated ? list(name).varChar() : getWriterProvider().varChar(name);
return new VarCharConverter(writer, mutator.getManagedBuffer());
DecimalMetadata metadata = type.getDecimalMetadata();
DecimalWriter writer = isRepeated ? list(name).decimal() : getWriterProvider().decimal(name, metadata.getScale(), metadata.getPrecision());
return new BinaryToDecimal28Converter(writer, metadata.getPrecision(), metadata.getScale(), mutator.getManagedBuffer());
return new VarCharConverter(writer, mutator.getManagedBuffer());
return new VarBinaryConverter(writer, mutator.getManagedBuffer());
DecimalMetadata metadata = type.getDecimalMetadata();
DecimalWriter writer = isRepeated ? list(name).decimal() : getWriterProvider().decimal(name, metadata.getScale(), metadata.getPrecision());
return new BinaryToDecimal28Converter(writer, metadata.getPrecision(), metadata.getScale(), mutator.getManagedBuffer());
return new VarCharConverter(writer, mutator.getManagedBuffer());