protected Protocol.ColumnEncodingKind?GetColumnEncodingKind(Protocol.StreamKind streamKind) { var stripeStream = GetStripeStream(streamKind); if (stripeStream == null) { return(null); } return(stripeStream.ColumnEncodingKind); }
internal StripeStreamReader(Stream inputStream, uint columnId, Protocol.StreamKind streamKind, Protocol.ColumnEncodingKind encodingKind, long inputStreamOffset, ulong compressedLength, Protocol.CompressionKind compressionKind) { _inputStream = inputStream; ColumnId = columnId; StreamKind = streamKind; ColumnEncodingKind = encodingKind; _inputStreamOffset = inputStreamOffset; _compressedLength = compressedLength; _compressionKind = compressionKind; }
protected byte[] ReadByteStream(Protocol.StreamKind streamKind) { var stripeStream = GetStripeStream(streamKind); if (stripeStream == null) { return(null); } var stream = stripeStream.GetDecompressedStream(); var reader = new ByteRunLengthEncodingReader(stream); return(reader.Read().ToArray()); }
protected bool[] ReadBooleanStream(Protocol.StreamKind streamKind) { var stripeStream = GetStripeStream(streamKind); if (stripeStream == null) { return(null); } var stream = stripeStream.GetDecompressedStream(); var reader = new BitReader(stream); return(reader.Read().ToArray()); }
protected BigInteger[] ReadVarIntStream(Protocol.StreamKind streamKind) { var stripeStream = GetStripeStream(streamKind); if (stripeStream == null) { return(null); } var stream = stripeStream.GetDecompressedStream(); var reader = new VarIntReader(stream); return(reader.Read().ToArray()); }
protected byte[] ReadBinaryStream(Protocol.StreamKind streamKind) { var stripeStream = GetStripeStream(streamKind); if (stripeStream == null) { return(null); } var stream = stripeStream.GetDecompressedStream(); var memStream = new MemoryStream(); stream.CopyTo(memStream); return(memStream.ToArray()); }
protected long[] ReadNumericStream(Protocol.StreamKind streamKind, bool isSigned) { var stripeStream = GetStripeStream(streamKind); if (stripeStream == null) { return(null); } if (stripeStream.ColumnEncodingKind != Protocol.ColumnEncodingKind.DirectV2 && stripeStream.ColumnEncodingKind != Protocol.ColumnEncodingKind.DictionaryV2) { throw new NotImplementedException($"Unimplemented Numeric {nameof(Protocol.ColumnEncodingKind)} {stripeStream.ColumnEncodingKind}"); } var stream = stripeStream.GetDecompressedStream(); var reader = new IntegerRunLengthEncodingV2Reader(stream, isSigned); return(reader.Read().ToArray()); }
public OrcCompressedBuffer(int compressionBlockSize, Protocol.CompressionKind compressionKind, CompressionStrategy compressionStrategy, Protocol.StreamKind streamKind) : this(compressionBlockSize, compressionKind, compressionStrategy) { StreamKind = streamKind; }
public OrcCompressedBuffer CreateBuffer(Protocol.StreamKind streamKind) { return(new OrcCompressedBuffer(CompressionBlockSize, CompressionKind, CompressionStrategy, streamKind)); }
StripeStreamReader GetStripeStream(Protocol.StreamKind streamKind) { return(_stripeStreams.FirstOrDefault(s => s.ColumnId == _columnId && s.StreamKind == streamKind)); }