Skip to content

Commit 4ab42c4

Browse files
author
nullccxsy
committed
fix: simplify Arrow array building using parent array operations
- Replace individual child array management with parent array StartAppending/FinishElement pattern for cleaner code.
1 parent 9f13bac commit 4ab42c4

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

src/iceberg/arrow_c_data_internal.cc

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,20 +57,16 @@ std::pair<ArrowSchema, ArrowArray> CreateExampleArrowSchemaAndArrayByNanoarrow()
5757
ArrowArray* int64_array = out_array.children[0];
5858
ArrowArray* string_array = out_array.children[1];
5959

60-
NANOARROW_THROW_NOT_OK(ArrowArrayStartAppending(int64_array));
61-
NANOARROW_THROW_NOT_OK(ArrowArrayStartAppending(string_array));
60+
NANOARROW_THROW_NOT_OK(ArrowArrayStartAppending(&out_array));
6261

6362
for (int64_t i = 0; i < kNumValues; i++) {
6463
NANOARROW_THROW_NOT_OK(ArrowArrayAppendInt(int64_array, int64_values[i]));
6564
NANOARROW_THROW_NOT_OK(
6665
ArrowArrayAppendString(string_array, ArrowCharView(string_values[i].c_str())));
66+
NANOARROW_THROW_NOT_OK(ArrowArrayFinishElement(&out_array));
6767
}
6868

69-
NANOARROW_THROW_NOT_OK(ArrowArrayFinishBuildingDefault(int64_array, nullptr));
70-
NANOARROW_THROW_NOT_OK(ArrowArrayFinishBuildingDefault(string_array, nullptr));
71-
72-
out_array.length = kNumValues;
73-
out_array.null_count = 0;
69+
NANOARROW_THROW_NOT_OK(ArrowArrayFinishBuildingDefault(&out_array, nullptr));
7470

7571
return {out_schema, out_array};
7672
}

0 commit comments

Comments
 (0)