You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bec0ceb
Browse filesBrowse the repository at this point in the historyBrowse files
fix(manifest): write null instead of empty list/map for unset optional DataFile fields (#934)
AppendIntList, AppendIntMap, and AppendBinaryMap in
src/iceberg/arrow_row_builder.cc always call ArrowArrayFinishElement()
after appending entries, even when the input container is empty. This
produced an empty-but-non-null list/map element rather than a null
element whenever one of DataFile's optional list/map fields
(split_offsets, equality_ids, column_sizes, value_counts,
null_value_counts, nan_value_counts, lower_bounds, upper_bounds) was
unset.
Add an empty check to each of these helpers that delegates to the
existing AppendNull() instead of finishing an empty element.
AppendStringMap (used for required properties-style maps) is
intentionally left unchanged.
Add unit test coverage in arrow_row_builder_test.cc asserting that
AppendIntList/AppendIntMap/AppendBinaryMap write a null element (not
an empty one) for empty input, alongside existing non-empty-input
coverage.
Co-authored-by: joeyyjwang <joeyyjwang@tencent.com>
0 commit comments