| 250 | class 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(); |
nothing calls this directly
no test coverage detected