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

Function TEST

cpp/src/parquet/file_serialize_test.cc:362–388  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

360#endif
361
362TEST(TestBufferedRowGroupWriter, DisabledDictionary) {
363 // PARQUET-1706:
364 // Wrong dictionary_page_offset when writing only data pages via BufferedPageWriter
365 auto sink = CreateOutputStream();
366 auto writer_props = parquet::WriterProperties::Builder().disable_dictionary()->build();
367 schema::NodeVector fields;
368 fields.push_back(
369 PrimitiveNode::Make("col", parquet::Repetition::REQUIRED, parquet::Type::INT32));
370 auto schema = std::static_pointer_cast<GroupNode>(
371 GroupNode::Make("schema", Repetition::REQUIRED, fields));
372 auto file_writer = parquet::ParquetFileWriter::Open(sink, schema, writer_props);
373 auto rg_writer = file_writer->AppendBufferedRowGroup();
374 auto col_writer = static_cast<Int32Writer*>(rg_writer->column(0));
375 int value = 0;
376 col_writer->WriteBatch(1, nullptr, nullptr, &value);
377 rg_writer->Close();
378 file_writer->Close();
379 PARQUET_ASSIGN_OR_THROW(auto buffer, sink->Finish());
380
381 auto source = std::make_shared<::arrow::io::BufferReader>(buffer);
382 auto file_reader = ParquetFileReader::Open(source);
383 ASSERT_EQ(1, file_reader->metadata()->num_row_groups());
384 auto rg_reader = file_reader->RowGroup(0);
385 ASSERT_EQ(1, rg_reader->metadata()->num_columns());
386 ASSERT_EQ(1, rg_reader->metadata()->num_rows());
387 ASSERT_FALSE(rg_reader->metadata()->ColumnChunk(0)->has_dictionary_page());
388}
389
390TEST(TestBufferedRowGroupWriter, MultiPageDisabledDictionary) {
391 constexpr int kValueCount = 10000;

Callers

nothing calls this directly

Calls 15

CreateOutputStreamFunction · 0.85
push_backMethod · 0.80
BuilderFunction · 0.70
MakeFunction · 0.70
buildMethod · 0.45
columnMethod · 0.45
WriteBatchMethod · 0.45
CloseMethod · 0.45
num_row_groupsMethod · 0.45
metadataMethod · 0.45

Tested by

no test coverage detected