@@ -63,26 +63,28 @@ class MapSharedShreddingFileReaderTest : public ::testing::Test {
6363 return meta;
6464 }
6565
66- std::shared_ptr<arrow::Schema> PhysicalSchemaWithMetadata () const {
66+ Result< std::shared_ptr<arrow::Schema> > PhysicalSchemaWithMetadata () const {
6767 return PhysicalSchemaWithMetadata (TagsMeta ());
6868 }
6969
70- std::shared_ptr<arrow::Schema> PhysicalSchemaWithMetadata (
70+ Result< std::shared_ptr<arrow::Schema> > PhysicalSchemaWithMetadata (
7171 const MapSharedShreddingFieldMeta& meta) const {
7272 std::map<std::string, int32_t > field_to_num_columns = {{" tags" , 2 }};
73- auto physical_schema =
74- MapSharedShreddingUtils::LogicalToPhysicalSchema (logical_schema_, field_to_num_columns);
73+ PAIMON_ASSIGN_OR_RAISE (auto physical_schema,
74+ MapSharedShreddingUtils::LogicalToPhysicalSchema (
75+ logical_schema_, field_to_num_columns));
7576 auto metadata = std::make_shared<arrow::KeyValueMetadata>();
76- EXPECT_OK (MapSharedShreddingUtils::SerializeMetadata (
77+ PAIMON_RETURN_NOT_OK (MapSharedShreddingUtils::SerializeMetadata (
7778 meta, MapSharedShreddingDefine::kDefaultDictCompression , metadata.get ()));
7879
7980 arrow::FieldVector fields = physical_schema->fields ();
8081 fields[1 ] = fields[1 ]->WithMetadata (metadata);
8182 return arrow::schema (std::move (fields));
8283 }
8384
84- std::shared_ptr<arrow::Array> PhysicalArray () const {
85- std::shared_ptr<arrow::Schema> physical_schema = PhysicalSchemaWithMetadata ();
85+ Result<std::shared_ptr<arrow::Array>> PhysicalArray () const {
86+ PAIMON_ASSIGN_OR_RAISE (std::shared_ptr<arrow::Schema> physical_schema,
87+ PhysicalSchemaWithMetadata ());
8688 std::string json = R"( [
8789 [1, [[0, 1], 10, 20, null]],
8890 [2, [[2, 0], 30, 40, null]],
@@ -140,15 +142,15 @@ class MapSharedShreddingFileReaderTest : public ::testing::Test {
140142 std::move (reader), std::move (shared_shredding_name_to_context), pool_);
141143 }
142144
143- std::unique_ptr<MapSharedShreddingFileReader> CreateReader (
145+ Result< std::unique_ptr<MapSharedShreddingFileReader> > CreateReader (
144146 std::shared_ptr<arrow::Array> physical_array = nullptr ,
145147 std::shared_ptr<arrow::Schema> physical_schema = nullptr ,
146148 const std::optional<std::string>& selected_keys = std::nullopt ) const {
147149 if (!physical_schema) {
148- physical_schema = PhysicalSchemaWithMetadata ();
150+ PAIMON_ASSIGN_OR_RAISE ( physical_schema, PhysicalSchemaWithMetadata () );
149151 }
150152 if (!physical_array) {
151- physical_array = PhysicalArray ();
153+ PAIMON_ASSIGN_OR_RAISE ( physical_array, PhysicalArray () );
152154 }
153155 auto mock_reader = std::make_unique<MockFileBatchReader>(
154156 physical_array, arrow::struct_ (physical_schema->fields ()), /* read_batch_size=*/ 10 );
@@ -243,7 +245,7 @@ class MapSharedShreddingFileReaderTest : public ::testing::Test {
243245};
244246
245247TEST_F (MapSharedShreddingFileReaderTest, TestGetFileSchemaReturnsLogicalMapSchema) {
246- auto reader = CreateReader ();
248+ ASSERT_OK_AND_ASSIGN ( auto reader, CreateReader () );
247249
248250 ASSERT_OK_AND_ASSIGN (auto c_schema, reader->GetFileSchema ());
249251 auto schema = arrow::ImportSchema (c_schema.get ()).ValueOrDie ();
@@ -256,8 +258,9 @@ TEST_F(MapSharedShreddingFileReaderTest, TestGetFileSchemaReturnsLogicalMapSchem
256258}
257259
258260TEST_F (MapSharedShreddingFileReaderTest, TestAllExistSelectedKeysWithoutOverflow) {
259- auto reader = CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
260- /* selected_keys=*/ " b" );
261+ ASSERT_OK_AND_ASSIGN (auto reader,
262+ CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
263+ /* selected_keys=*/ " b" ));
261264 auto read_schema = ExportSchema (ReadSchema (" b" ));
262265 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
263266 /* selection_bitmap=*/ std::nullopt ));
@@ -277,8 +280,9 @@ TEST_F(MapSharedShreddingFileReaderTest, TestAllExistSelectedKeysWithoutOverflow
277280}
278281
279282TEST_F (MapSharedShreddingFileReaderTest, TestAllExistSelectedKeysWithOverflow) {
280- auto reader = CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
281- /* selected_keys=*/ " a,c" );
283+ ASSERT_OK_AND_ASSIGN (auto reader,
284+ CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
285+ /* selected_keys=*/ " a,c" ));
282286 auto read_schema = ExportSchema (ReadSchema (" a,c" ));
283287 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
284288 /* selection_bitmap=*/ std::nullopt ));
@@ -298,8 +302,9 @@ TEST_F(MapSharedShreddingFileReaderTest, TestAllExistSelectedKeysWithOverflow) {
298302}
299303
300304TEST_F (MapSharedShreddingFileReaderTest, TestPartialExistSelectedKeys) {
301- auto reader = CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
302- /* selected_keys=*/ " a,c,missing" );
305+ ASSERT_OK_AND_ASSIGN (auto reader,
306+ CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
307+ /* selected_keys=*/ " a,c,missing" ));
303308 auto read_schema = ExportSchema (ReadSchema (" a,c,missing" ));
304309 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
305310 /* selection_bitmap=*/ std::nullopt ));
@@ -320,7 +325,7 @@ TEST_F(MapSharedShreddingFileReaderTest, TestPartialExistSelectedKeys) {
320325}
321326
322327TEST_F (MapSharedShreddingFileReaderTest, TestMissingSelectedKeysReadsWholeMap) {
323- auto reader = CreateReader ();
328+ ASSERT_OK_AND_ASSIGN ( auto reader, CreateReader () );
324329 auto read_schema = ExportSchema (ReadSchema (std::nullopt ));
325330 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
326331 /* selection_bitmap=*/ std::nullopt ));
@@ -345,7 +350,7 @@ TEST_F(MapSharedShreddingFileReaderTest, TestSpecialSelectedKeys) {
345350 meta.field_to_columns = {{0 , {0 }}, {1 , {1 }}, {2 , {0 }}, {3 , {1 }}};
346351 meta.num_columns = 2 ;
347352 meta.max_row_width = 2 ;
348- auto physical_schema = PhysicalSchemaWithMetadata (meta);
353+ ASSERT_OK_AND_ASSIGN ( auto physical_schema, PhysicalSchemaWithMetadata (meta) );
349354 std::string json = R"( [
350355 [1, [[0, 1], 10, 20, null]],
351356 [2, [[2, 3], 30, 40, null]],
@@ -356,7 +361,8 @@ TEST_F(MapSharedShreddingFileReaderTest, TestSpecialSelectedKeys) {
356361 .ValueOrDie ();
357362
358363 auto assert_read = [&](const std::string& selected_keys, const std::string& expected_json) {
359- auto reader = CreateReader (physical_array, physical_schema, selected_keys);
364+ ASSERT_OK_AND_ASSIGN (auto reader,
365+ CreateReader (physical_array, physical_schema, selected_keys));
360366 auto read_schema = ExportSchema (ReadSchema (selected_keys));
361367 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
362368 /* selection_bitmap=*/ std::nullopt ));
@@ -392,8 +398,9 @@ TEST_F(MapSharedShreddingFileReaderTest, TestSpecialSelectedKeys) {
392398}
393399
394400TEST_F (MapSharedShreddingFileReaderTest, TestUnknownSelectedKeyReturnsEmptyMap) {
395- auto reader = CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
396- /* selected_keys=*/ " missing" );
401+ ASSERT_OK_AND_ASSIGN (auto reader,
402+ CreateReader (/* physical_array=*/ nullptr , /* physical_schema=*/ nullptr ,
403+ /* selected_keys=*/ " missing" ));
397404 auto read_schema = ExportSchema (ReadSchema (" missing" ));
398405 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
399406 /* selection_bitmap=*/ std::nullopt ));
@@ -414,14 +421,15 @@ TEST_F(MapSharedShreddingFileReaderTest, TestUnknownSelectedKeyReturnsEmptyMap)
414421}
415422
416423TEST_F (MapSharedShreddingFileReaderTest, TestInvalidNullFieldMappingField) {
417- auto physical_schema = PhysicalSchemaWithMetadata ();
424+ ASSERT_OK_AND_ASSIGN ( auto physical_schema, PhysicalSchemaWithMetadata () );
418425 std::string json = R"( [
419426 [1, [null, 10, null, null]]
420427 ])" ;
421428 auto physical_array =
422429 arrow::ipc::internal::json::ArrayFromJSON (arrow::struct_ (physical_schema->fields ()), json)
423430 .ValueOrDie ();
424- auto reader = CreateReader (physical_array, physical_schema, /* selected_keys=*/ " a" );
431+ ASSERT_OK_AND_ASSIGN (auto reader,
432+ CreateReader (physical_array, physical_schema, /* selected_keys=*/ " a" ));
425433 auto read_schema = ExportSchema (ReadSchema (" a" ));
426434 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
427435 /* selection_bitmap=*/ std::nullopt ));
@@ -430,14 +438,15 @@ TEST_F(MapSharedShreddingFileReaderTest, TestInvalidNullFieldMappingField) {
430438}
431439
432440TEST_F (MapSharedShreddingFileReaderTest, TestInvalidNullFieldMappingFieldElement) {
433- auto physical_schema = PhysicalSchemaWithMetadata ();
441+ ASSERT_OK_AND_ASSIGN ( auto physical_schema, PhysicalSchemaWithMetadata () );
434442 std::string json = R"( [
435443 [1, [[0, null], 10, null, null]]
436444 ])" ;
437445 auto physical_array =
438446 arrow::ipc::internal::json::ArrayFromJSON (arrow::struct_ (physical_schema->fields ()), json)
439447 .ValueOrDie ();
440- auto reader = CreateReader (physical_array, physical_schema, /* selected_keys=*/ " b" );
448+ ASSERT_OK_AND_ASSIGN (auto reader,
449+ CreateReader (physical_array, physical_schema, /* selected_keys=*/ " b" ));
441450 auto read_schema = ExportSchema (ReadSchema (" b" ));
442451 ASSERT_OK (reader->SetReadSchema (read_schema.get (), /* predicate=*/ nullptr ,
443452 /* selection_bitmap=*/ std::nullopt ));
@@ -458,8 +467,8 @@ TEST_F(MapSharedShreddingFileReaderTest, TestListValue) {
458467 meta.max_row_width = 3 ;
459468
460469 std::map<std::string, int32_t > field_to_num_columns = {{" tags" , 2 }};
461- auto physical_schema =
462- MapSharedShreddingUtils::LogicalToPhysicalSchema ( logical_schema, field_to_num_columns);
470+ ASSERT_OK_AND_ASSIGN ( auto physical_schema, MapSharedShreddingUtils::LogicalToPhysicalSchema (
471+ logical_schema, field_to_num_columns) );
463472 auto metadata = std::make_shared<arrow::KeyValueMetadata>();
464473 ASSERT_OK (MapSharedShreddingUtils::SerializeMetadata (
465474 meta, MapSharedShreddingDefine::kDefaultDictCompression , metadata.get ()));
@@ -475,8 +484,9 @@ TEST_F(MapSharedShreddingFileReaderTest, TestListValue) {
475484 [4, [[1, 0], [8], [9, 10], [[2, [null]]]]]
476485 ])" )
477486 .ValueOrDie ();
478- auto reader = CreateReader (physical_array, physical_schema,
479- /* selected_keys=*/ " a,c" ); // NOLINT(whitespace/comma)
487+ ASSERT_OK_AND_ASSIGN (auto reader,
488+ CreateReader (physical_array, physical_schema,
489+ /* selected_keys=*/ " a,c" )); // NOLINT(whitespace/comma)
480490
481491 auto read_metadata = std::make_shared<arrow::KeyValueMetadata>();
482492 read_metadata->Append (" paimon.map.selected-keys" , " a,c" );
0 commit comments