@Override public void decodeAndFillVector(byte[] input, int offset, int length, ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize, ReusableDataBuffer reusableDataBuffer) throws MemoryException, IOException { Compressor compressor = CompressorFactory.getInstance().getCompressor(meta.getCompressorName()); byte[] unCompressData; if (null != reusableDataBuffer && compressor.supportReusableBuffer()) { int uncompressedLength = compressor.unCompressedLength(input, offset, length); unCompressData = reusableDataBuffer.getDataBuffer(uncompressedLength); compressor.rawUncompress(input, offset, length, unCompressData); } else { unCompressData = compressor.unCompressByte(input, offset, length); } converter.decodeAndFillVector(unCompressData, vectorInfo, nullBits, meta.getStoreDataType(), pageSize); }
@Override public void decodeAndFillVector(byte[] input, int offset, int length, ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize, ReusableDataBuffer reusableDataBuffer) throws MemoryException, IOException { Compressor compressor = CompressorFactory.getInstance().getCompressor(meta.getCompressorName()); byte[] unCompressData; if (null != reusableDataBuffer && compressor.supportReusableBuffer()) { int uncompressedLength = compressor.unCompressedLength(input, offset, length); unCompressData = reusableDataBuffer.getDataBuffer(uncompressedLength); compressor.rawUncompress(input, offset, length, unCompressData); } else { unCompressData = compressor.unCompressByte(input, offset, length); } converter.decodeAndFillVector(unCompressData, vectorInfo, nullBits, meta.getStoreDataType(), pageSize); }
int[] invertedIndexesReverse = new int[0]; int uncompressedSize = 0; if (null != reusableDataBuffer && compressor.supportReusableBuffer()) { uncompressedSize = compressor.unCompressedLength(pageData.array(), offset, pageMetadata.data_page_length);
@Override public void decodeAndFillVector(byte[] input, int offset, int length, ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize, ReusableDataBuffer reusableDataBuffer) throws MemoryException, IOException { Compressor compressor = CompressorFactory.getInstance().getCompressor(meta.getCompressorName()); byte[] unCompressData; if (null != reusableDataBuffer && compressor.supportReusableBuffer()) { int uncompressedLength = compressor.unCompressedLength(input, offset, length); unCompressData = reusableDataBuffer.getDataBuffer(uncompressedLength); compressor.rawUncompress(input, offset, length, unCompressData); } else { unCompressData = compressor.unCompressByte(input, offset, length); } if (DataTypes.isDecimal(meta.getSchemaDataType())) { TableSpec.ColumnSpec columnSpec = meta.getColumnSpec(); DecimalConverterFactory.DecimalConverter decimalConverter = DecimalConverterFactory.INSTANCE .getDecimalConverter(columnSpec.getPrecision(), columnSpec.getScale()); vectorInfo.decimalConverter = decimalConverter; } converter.decodeAndFillVector(unCompressData, vectorInfo, nullBits, meta.getStoreDataType(), pageSize); }
@Override public void decodeAndFillVector(byte[] input, int offset, int length, ColumnVectorInfo vectorInfo, BitSet nullBits, boolean isLVEncoded, int pageSize, ReusableDataBuffer reusableDataBuffer) throws MemoryException, IOException { Compressor compressor = CompressorFactory.getInstance().getCompressor(meta.getCompressorName()); byte[] unCompressData; if (null != reusableDataBuffer && compressor.supportReusableBuffer()) { int uncompressedLength = compressor.unCompressedLength(input, offset, length); unCompressData = reusableDataBuffer.getDataBuffer(uncompressedLength); compressor.rawUncompress(input, offset, length, unCompressData); } else { unCompressData = compressor.unCompressByte(input, offset, length); } if (DataTypes.isDecimal(meta.getSchemaDataType())) { TableSpec.ColumnSpec columnSpec = meta.getColumnSpec(); DecimalConverterFactory.DecimalConverter decimalConverter = DecimalConverterFactory.INSTANCE .getDecimalConverter(columnSpec.getPrecision(), columnSpec.getScale()); vectorInfo.decimalConverter = decimalConverter; } converter.decodeAndFillVector(unCompressData, vectorInfo, nullBits, meta.getStoreDataType(), pageSize); }
int uncompressedLength; byte[] unCompressData; if (null != reusableDataBuffer && compressor.supportReusableBuffer()) { uncompressedLength = compressor.unCompressedLength(input, offset, length); unCompressData = reusableDataBuffer.getDataBuffer(uncompressedLength);