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

Method SerializedPageWriter

cpp/src/parquet/column_writer.cc:252–283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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