Commits


Sutou Kouhei authored and GitHub committed 1416f62b11a
GH-44918: [Ruby] Fix a bug that empty list is ignored in builder (#44933) ### Rationale for this change `Arrow::ListArrayBuilder#append_value` with `[]` must append an empty list as an element. In general, it works but it doesn't work when list item is struct or list. Because `Arrow::{List,Struct}ArrayBuilder#append` without arguments appends an element. It's for a backward compatibility. But it has a problem for this case. For example, the following case has this problem: ```ruby item_type = Arrow::StructDataType.new([{name: "visible", type: :boolean}]) data_type = Arrow::ListDataType.new(name: "struct", data_type: item_type) builder = Arrow::ListArrayBuilder.new(data_type) builder.append_value([]) array = builder.finish array.to_a # => must be [[]] but [] without this change ``` ### What changes are included in this PR? This should be fixed by GH-44763 but the fix was wrong. This change fixes wrong `return if` location. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * GitHub Issue: #44918 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>