lib/arrow/table.rb in red-arrow-0.16.0 vs lib/arrow/table.rb in red-arrow-0.17.0
- old
+ new
@@ -302,10 +302,12 @@
"(given #{args.size}, expected #{expected_n_args})"
raise ArgumentError, message
end
end
+ filter_options = Arrow::FilterOptions.new
+ filter_options.null_selection_behavior = :emit_null
sliced_tables = []
slicers.each do |slicer|
slicer = slicer.evaluate if slicer.respond_to?(:evaluate)
case slicer
when Integer
@@ -323,10 +325,10 @@
raise ArgumentError, message
end
to += n_rows if to < 0
sliced_tables << slice_by_range(from, to)
when ::Array, BooleanArray, ChunkedArray
- sliced_tables << filter(slicer)
+ sliced_tables << filter(slicer, filter_options)
else
message = "slicer must be Integer, Range, (from, to), " +
"Arrow::ChunkedArray of Arrow::BooleanArray, " +
"Arrow::BooleanArray or Arrow::Slicer::Condition: #{slicer.inspect}"
raise ArgumentError, message