@@ -1195,16 +1195,16 @@ TEST(ExtractDatumFromArrayTest, NullHandling) {
11951195
11961196struct RoundTripParam {
11971197 std::string name;
1198- Schema iceberg_schema;
1198+ std::shared_ptr< Schema> iceberg_schema;
11991199 std::string arrow_json;
12001200};
12011201
12021202void VerifyRoundTripConversion (const RoundTripParam& test_case) {
12031203 ::avro::NodePtr avro_node;
1204- ASSERT_THAT (ToAvroNodeVisitor{}.Visit (test_case.iceberg_schema , &avro_node), IsOk ());
1204+ ASSERT_THAT (ToAvroNodeVisitor{}.Visit (* test_case.iceberg_schema , &avro_node), IsOk ());
12051205
12061206 ArrowSchema arrow_c_schema;
1207- ASSERT_THAT (ToArrowSchema (test_case.iceberg_schema , &arrow_c_schema), IsOk ());
1207+ ASSERT_THAT (ToArrowSchema (* test_case.iceberg_schema , &arrow_c_schema), IsOk ());
12081208 auto arrow_schema = ::arrow::ImportSchema (&arrow_c_schema).ValueOrDie ();
12091209 auto arrow_struct_type = std::make_shared<::arrow::StructType>(arrow_schema->fields ());
12101210
@@ -1221,14 +1221,14 @@ void VerifyRoundTripConversion(const RoundTripParam& test_case) {
12211221 }
12221222
12231223 auto projection_result =
1224- Project (test_case.iceberg_schema , avro_node, /* prune_source=*/ false );
1224+ Project (* test_case.iceberg_schema , avro_node, /* prune_source=*/ false );
12251225 ASSERT_THAT (projection_result, IsOk ());
12261226 auto projection = std::move (projection_result.value ());
12271227
12281228 auto builder = ::arrow::MakeBuilder (arrow_struct_type).ValueOrDie ();
12291229 for (const auto & datum : extracted_data) {
12301230 ASSERT_THAT (AppendDatumToBuilder (avro_node, datum, projection,
1231- test_case.iceberg_schema , builder.get ()),
1231+ * test_case.iceberg_schema , builder.get ()),
12321232 IsOk ());
12331233 }
12341234
@@ -1249,7 +1249,7 @@ TEST_P(AvroRoundTripConversionTest, ConvertTypes) {
12491249const std::vector<RoundTripParam> kRoundTripTestCases = {
12501250 {
12511251 .name = " SimpleStruct" ,
1252- .iceberg_schema = Schema ( {
1252+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
12531253 SchemaField::MakeRequired (1 , " id" , int32 ()),
12541254 SchemaField::MakeRequired (2 , " name" , string ()),
12551255 SchemaField::MakeOptional (3 , " age" , int32 ()),
@@ -1262,7 +1262,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
12621262 },
12631263 {
12641264 .name = " PrimitiveTypes" ,
1265- .iceberg_schema = Schema ( {
1265+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
12661266 SchemaField::MakeRequired (1 , " bool_field" , boolean ()),
12671267 SchemaField::MakeRequired (2 , " int_field" , int32 ()),
12681268 SchemaField::MakeRequired (3 , " long_field" , int64 ()),
@@ -1277,7 +1277,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
12771277 },
12781278 {
12791279 .name = " NestedStruct" ,
1280- .iceberg_schema = Schema ( {
1280+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
12811281 SchemaField::MakeRequired (1 , " id" , int32 ()),
12821282 SchemaField::MakeRequired (
12831283 2 , " person" ,
@@ -1293,7 +1293,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
12931293 },
12941294 {
12951295 .name = " ListOfIntegers" ,
1296- .iceberg_schema = Schema ( {
1296+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
12971297 SchemaField::MakeRequired (
12981298 1 , " numbers" ,
12991299 std::make_shared<ListType>(
@@ -1307,7 +1307,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
13071307 },
13081308 {
13091309 .name = " MapStringToInt" ,
1310- .iceberg_schema = Schema ( {
1310+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
13111311 SchemaField::MakeRequired (
13121312 1 , " scores" ,
13131313 std::make_shared<MapType>(
@@ -1322,7 +1322,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
13221322 },
13231323 {
13241324 .name = " ComplexNested" ,
1325- .iceberg_schema = Schema ( {
1325+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
13261326 SchemaField::MakeRequired (
13271327 1 , " data" ,
13281328 std::make_shared<StructType>(std::vector<SchemaField>{
@@ -1345,7 +1345,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
13451345 },
13461346 {
13471347 .name = " NullablePrimitives" ,
1348- .iceberg_schema = Schema ( {
1348+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
13491349 SchemaField::MakeOptional (1 , " optional_bool" , boolean ()),
13501350 SchemaField::MakeOptional (2 , " optional_int" , int32 ()),
13511351 SchemaField::MakeOptional (3 , " optional_long" , int64 ()),
@@ -1361,7 +1361,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
13611361 },
13621362 {
13631363 .name = " NullableNestedStruct" ,
1364- .iceberg_schema = Schema ( {
1364+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
13651365 SchemaField::MakeRequired (1 , " id" , int32 ()),
13661366 SchemaField::MakeOptional (
13671367 2 , " person" ,
@@ -1381,7 +1381,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
13811381 },
13821382 {
13831383 .name = " NullableListElements" ,
1384- .iceberg_schema = Schema ( {
1384+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
13851385 SchemaField::MakeRequired (1 , " id" , int32 ()),
13861386 SchemaField::MakeOptional (
13871387 2 , " numbers" ,
@@ -1401,7 +1401,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
14011401 },
14021402 {
14031403 .name = " NullableMapValues" ,
1404- .iceberg_schema = Schema ( {
1404+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
14051405 SchemaField::MakeRequired (1 , " id" , int32 ()),
14061406 SchemaField::MakeOptional (
14071407 2 , " scores" ,
@@ -1423,7 +1423,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
14231423 },
14241424 {
14251425 .name = " DeeplyNestedWithNulls" ,
1426- .iceberg_schema = Schema ( {
1426+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
14271427 SchemaField::MakeRequired (
14281428 1 , " root" ,
14291429 std::make_shared<StructType>(std::vector<SchemaField>{
@@ -1452,7 +1452,7 @@ const std::vector<RoundTripParam> kRoundTripTestCases = {
14521452 },
14531453 {
14541454 .name = " AllNullsVariations" ,
1455- .iceberg_schema = Schema ( {
1455+ .iceberg_schema = std::make_shared< Schema>(std::vector<SchemaField> {
14561456 SchemaField::MakeOptional (1 , " always_null" , string ()),
14571457 SchemaField::MakeOptional (2 , " sometimes_null" , int32 ()),
14581458 SchemaField::MakeOptional (
0 commit comments