Files
email-tracker/external/duckdb/extension/parquet/include/decoder/rle_decoder.hpp
2025-10-24 19:21:19 -05:00

33 lines
723 B
C++

//===----------------------------------------------------------------------===//
// DuckDB
//
// decoder/rle_decoder.hpp
//
//
//===----------------------------------------------------------------------===//
#pragma once
#include "duckdb.hpp"
#include "parquet_rle_bp_decoder.hpp"
namespace duckdb {
class ColumnReader;
class RLEDecoder {
public:
explicit RLEDecoder(ColumnReader &reader);
public:
void InitializePage();
void Read(uint8_t *defines, idx_t read_count, Vector &result, idx_t result_offset);
void Skip(uint8_t *defines, idx_t skip_count);
private:
ColumnReader &reader;
ResizeableBuffer &decoded_data_buffer;
unique_ptr<RleBpDecoder> rle_decoder;
};
} // namespace duckdb