(
truthy: &dyn Array,
mask: &BooleanBuffer,
output_len: usize,
selectivity: f64,
)
| 102 | } |
| 103 | |
| 104 | fn scatter_array( |
| 105 | truthy: &dyn Array, |
| 106 | mask: &BooleanBuffer, |
| 107 | output_len: usize, |
| 108 | selectivity: f64, |
| 109 | ) -> Result<ArrayRef> { |
| 110 | downcast_primitive_array! { |
| 111 | truthy => Ok(Arc::new(scatter_primitive(truthy, mask, output_len, selectivity))), |
| 112 | DataType::Boolean => { |
| 113 | Ok(Arc::new(scatter_boolean(truthy.as_boolean(), mask, output_len, selectivity))) |
| 114 | } |
| 115 | DataType::Utf8 => { |
| 116 | Ok(Arc::new(scatter_bytes(truthy.as_string::<i32>(), mask, output_len, selectivity))) |
| 117 | } |
| 118 | DataType::LargeUtf8 => { |
| 119 | Ok(Arc::new(scatter_bytes(truthy.as_string::<i64>(), mask, output_len, selectivity))) |
| 120 | } |
| 121 | DataType::Utf8View => { |
| 122 | Ok(Arc::new(scatter_byte_view(truthy.as_string_view(), mask, output_len, selectivity))) |
| 123 | } |
| 124 | DataType::Binary => { |
| 125 | Ok(Arc::new(scatter_bytes(truthy.as_binary::<i32>(), mask, output_len, selectivity))) |
| 126 | } |
| 127 | DataType::LargeBinary => { |
| 128 | Ok(Arc::new(scatter_bytes(truthy.as_binary::<i64>(), mask, output_len, selectivity))) |
| 129 | } |
| 130 | DataType::BinaryView => { |
| 131 | Ok(Arc::new(scatter_byte_view(truthy.as_binary_view(), mask, output_len, selectivity))) |
| 132 | } |
| 133 | DataType::FixedSizeBinary(_) => { |
| 134 | Ok(Arc::new(scatter_fixed_size_binary( |
| 135 | truthy.as_fixed_size_binary(), mask, output_len, selectivity, |
| 136 | ))) |
| 137 | } |
| 138 | DataType::Dictionary(_, _) => { |
| 139 | downcast_dictionary_array! { |
| 140 | truthy => Ok(Arc::new(scatter_dict(truthy, mask, output_len, selectivity))), |
| 141 | _t => scatter_fallback(truthy, mask, output_len) |
| 142 | } |
| 143 | } |
| 144 | _ => scatter_fallback(truthy, mask, output_len) |
| 145 | } |
| 146 | } |
| 147 | |
| 148 | #[inline(never)] |
| 149 | fn scatter_native<T: ArrowNativeType>( |
no outgoing calls
no test coverage detected
searching dependent graphs…