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

Method BuildWriter

cpp/src/parquet/column_writer_test.cc:109–144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107 }
108
109 std::shared_ptr<TypedColumnWriter<TestType>> BuildWriter(
110 int64_t output_size = SMALL_SIZE,
111 const ColumnProperties& column_properties = ColumnProperties(),
112 const ParquetVersion::type version = ParquetVersion::PARQUET_1_0,
113 const ParquetDataPageVersion data_page_version = ParquetDataPageVersion::V1,
114 bool enable_checksum = false, int64_t page_size = kDefaultDataPageSize,
115 int64_t max_rows_per_page = kDefaultMaxRowsPerPage) {
116 sink_ = CreateOutputStream();
117 WriterProperties::Builder wp_builder;
118 wp_builder.version(version)->data_page_version(data_page_version);
119 if (column_properties.encoding() == Encoding::PLAIN_DICTIONARY ||
120 column_properties.encoding() == Encoding::RLE_DICTIONARY) {
121 wp_builder.enable_dictionary();
122 wp_builder.dictionary_pagesize_limit(DICTIONARY_PAGE_SIZE);
123 } else {
124 wp_builder.disable_dictionary();
125 wp_builder.encoding(column_properties.encoding());
126 }
127 if (enable_checksum) {
128 wp_builder.enable_page_checksum();
129 }
130 wp_builder.max_statistics_size(column_properties.max_statistics_size());
131 wp_builder.data_pagesize(page_size);
132 wp_builder.max_rows_per_page(max_rows_per_page);
133 writer_properties_ = wp_builder.build();
134
135 metadata_ = ColumnChunkMetaDataBuilder::Make(writer_properties_, this->descr_);
136 std::unique_ptr<PageWriter> pager = PageWriter::Open(
137 sink_, column_properties.compression(), metadata_.get(),
138 /* row_group_ordinal */ -1, /* column_chunk_ordinal*/ -1,
139 ::arrow::default_memory_pool(), /* buffered_row_group */ false,
140 /* header_encryptor */ NULLPTR, /* data_encryptor */ NULLPTR, enable_checksum);
141 std::shared_ptr<ColumnWriter> writer =
142 ColumnWriter::Make(metadata_.get(), std::move(pager), writer_properties_.get());
143 return std::dynamic_pointer_cast<TypedColumnWriter<TestType>>(writer);
144 }
145
146 void ReadColumn(Compression::type compression = Compression::UNCOMPRESSED,
147 bool page_checksum_verify = false) {

Callers 8

TYPED_TESTFunction · 0.45
TEST_FFunction · 0.45
TestWithEncodingMethod · 0.45
ASSERT_OK_AND_ASSIGNFunction · 0.45

Calls 8

CreateOutputStreamFunction · 0.85
default_memory_poolFunction · 0.85
MakeFunction · 0.70
versionMethod · 0.45
encodingMethod · 0.45
buildMethod · 0.45
compressionMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected