MCPcopy Create free account
hub / github.com/apache/arrow / SerializedPageWriter

Method SerializedPageWriter

cpp/src/parquet/column_writer.cc:253–284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

251class SerializedPageWriter : public PageWriter {
252 public:
253 SerializedPageWriter(std::shared_ptr<ArrowOutputStream> sink, Compression::type codec,
254 ColumnChunkMetaDataBuilder* metadata, int16_t row_group_ordinal,
255 int16_t column_chunk_ordinal, bool use_page_checksum_verification,
256 MemoryPool* pool = ::arrow::default_memory_pool(),
257 std::shared_ptr<Encryptor> meta_encryptor = nullptr,
258 std::shared_ptr<Encryptor> data_encryptor = nullptr,
259 ColumnIndexBuilder* column_index_builder = nullptr,
260 OffsetIndexBuilder* offset_index_builder = nullptr,
261 const CodecOptions& codec_options = CodecOptions{})
262 : sink_(std::move(sink)),
263 metadata_(metadata),
264 pool_(pool),
265 num_values_(0),
266 dictionary_page_offset_(0),
267 data_page_offset_(0),
268 total_uncompressed_size_(0),
269 total_compressed_size_(0),
270 page_ordinal_(0),
271 row_group_ordinal_(row_group_ordinal),
272 column_ordinal_(column_chunk_ordinal),
273 page_checksum_verification_(use_page_checksum_verification),
274 meta_encryptor_(std::move(meta_encryptor)),
275 data_encryptor_(std::move(data_encryptor)),
276 encryption_buffer_(AllocateBuffer(pool, 0)),
277 column_index_builder_(column_index_builder),
278 offset_index_builder_(offset_index_builder) {
279 if (data_encryptor_ != nullptr || meta_encryptor_ != nullptr) {
280 InitEncryption();
281 }
282 compressor_ = GetCodec(codec, codec_options);
283 thrift_serializer_ = std::make_unique<ThriftSerializer>();
284 }
285
286 int64_t WriteDictionaryPage(const DictionaryPage& page) override {
287 int64_t uncompressed_size = page.buffer()->size();

Callers

nothing calls this directly

Calls 3

default_memory_poolFunction · 0.85
GetCodecFunction · 0.85
AllocateBufferFunction · 0.70

Tested by

no test coverage detected