| 334 | } |
| 335 | |
| 336 | std::vector<WriterPropertiesTestCase> writer_properties_test_cases() { |
| 337 | std::vector<WriterPropertiesTestCase> test_cases; |
| 338 | |
| 339 | test_cases.emplace_back(default_writer_properties(), "default_properties"); |
| 340 | |
| 341 | { |
| 342 | WriterProperties::Builder builder; |
| 343 | const auto column_a = ColumnPath::FromDotString("a"); |
| 344 | |
| 345 | builder.created_by("parquet-cpp-properties-test"); |
| 346 | builder.encoding(Encoding::BYTE_STREAM_SPLIT); |
| 347 | builder.compression(Compression::ZSTD); |
| 348 | builder.compression_level(2); |
| 349 | builder.disable_dictionary(); |
| 350 | builder.disable_statistics(); |
| 351 | builder.enable_content_defined_chunking(); |
| 352 | builder.dictionary_pagesize_limit(DEFAULT_DICTIONARY_PAGE_SIZE_LIMIT - 1); |
| 353 | builder.write_batch_size(DEFAULT_WRITE_BATCH_SIZE - 1); |
| 354 | builder.max_row_group_length(DEFAULT_MAX_ROW_GROUP_LENGTH - 1); |
| 355 | builder.data_pagesize(kDefaultDataPageSize - 1); |
| 356 | builder.max_rows_per_page(kDefaultMaxRowsPerPage - 1); |
| 357 | builder.data_page_version(ParquetDataPageVersion::V2); |
| 358 | builder.version(ParquetVersion::type::PARQUET_2_4); |
| 359 | builder.enable_store_decimal_as_integer(); |
| 360 | builder.disable_write_page_index(); |
| 361 | builder.set_size_statistics_level(SizeStatisticsLevel::ColumnChunk); |
| 362 | builder.set_sorting_columns( |
| 363 | std::vector<SortingColumn>{SortingColumn{1, true, false}}); |
| 364 | |
| 365 | test_cases.emplace_back(builder.build(), "override_defaults"); |
| 366 | } |
| 367 | |
| 368 | const auto column_a = ColumnPath::FromDotString("a"); |
| 369 | { |
| 370 | WriterProperties::Builder builder; |
| 371 | builder.disable_dictionary(); |
| 372 | builder.enable_dictionary(column_a); |
| 373 | test_cases.emplace_back(builder.build(), "dictionary_column_override"); |
| 374 | } |
| 375 | { |
| 376 | WriterProperties::Builder builder; |
| 377 | builder.disable_statistics(); |
| 378 | builder.enable_statistics(column_a); |
| 379 | test_cases.emplace_back(builder.build(), "statistics_column_override"); |
| 380 | } |
| 381 | { |
| 382 | WriterProperties::Builder builder; |
| 383 | builder.compression(Compression::SNAPPY); |
| 384 | builder.compression(column_a, Compression::UNCOMPRESSED); |
| 385 | builder.compression_level(column_a, 2); |
| 386 | test_cases.emplace_back(builder.build(), "compression_column_override"); |
| 387 | } |
| 388 | { |
| 389 | WriterProperties::Builder builder; |
| 390 | builder.encoding(Encoding::UNDEFINED); |
| 391 | builder.encoding(column_a, Encoding::BYTE_STREAM_SPLIT); |
| 392 | test_cases.emplace_back(builder.build(), "encoding_column_override"); |
| 393 | } |
no test coverage detected