MCPcopy Create free account
hub / github.com/apache/arrow-rs / build_extend

Function build_extend

arrow-data/src/transform/mod.rs:238–283  ·  view source on GitHub ↗
(array: &ArrayData)

Source from the content-addressed store, hash-verified

236}
237
238fn build_extend(array: &ArrayData) -> Extend<'_> {
239 match array.data_type() {
240 DataType::Null => null::build_extend(array),
241 DataType::Boolean => boolean::build_extend(array),
242 DataType::UInt8 => primitive::build_extend::<u8>(array),
243 DataType::UInt16 => primitive::build_extend::<u16>(array),
244 DataType::UInt32 => primitive::build_extend::<u32>(array),
245 DataType::UInt64 => primitive::build_extend::<u64>(array),
246 DataType::Int8 => primitive::build_extend::<i8>(array),
247 DataType::Int16 => primitive::build_extend::<i16>(array),
248 DataType::Int32 => primitive::build_extend::<i32>(array),
249 DataType::Int64 => primitive::build_extend::<i64>(array),
250 DataType::Float32 => primitive::build_extend::<f32>(array),
251 DataType::Float64 => primitive::build_extend::<f64>(array),
252 DataType::Date32 | DataType::Time32(_) | DataType::Interval(IntervalUnit::YearMonth) => {
253 primitive::build_extend::<i32>(array)
254 }
255 DataType::Date64
256 | DataType::Time64(_)
257 | DataType::Timestamp(_, _)
258 | DataType::Duration(_)
259 | DataType::Interval(IntervalUnit::DayTime) => primitive::build_extend::<i64>(array),
260 DataType::Interval(IntervalUnit::MonthDayNano) => primitive::build_extend::<i128>(array),
261 DataType::Decimal32(_, _) => primitive::build_extend::<i32>(array),
262 DataType::Decimal64(_, _) => primitive::build_extend::<i64>(array),
263 DataType::Decimal128(_, _) => primitive::build_extend::<i128>(array),
264 DataType::Decimal256(_, _) => primitive::build_extend::<i256>(array),
265 DataType::Utf8 | DataType::Binary => variable_size::build_extend::<i32>(array),
266 DataType::LargeUtf8 | DataType::LargeBinary => variable_size::build_extend::<i64>(array),
267 DataType::BinaryView | DataType::Utf8View => unreachable!("should use build_extend_view"),
268 DataType::Map(_, _) | DataType::List(_) => list::build_extend::<i32>(array),
269 DataType::LargeList(_) => list::build_extend::<i64>(array),
270 DataType::ListView(_) => list_view::build_extend::<i32>(array),
271 DataType::LargeListView(_) => list_view::build_extend::<i64>(array),
272 DataType::Dictionary(_, _) => unreachable!("should use build_extend_dictionary"),
273 DataType::Struct(_) => structure::build_extend(array),
274 DataType::FixedSizeBinary(_) => fixed_binary::build_extend(array),
275 DataType::Float16 => primitive::build_extend::<f16>(array),
276 DataType::FixedSizeList(_, _) => fixed_size_list::build_extend(array),
277 DataType::Union(_, mode) => match mode {
278 UnionMode::Sparse => union::build_extend_sparse(array),
279 UnionMode::Dense => union::build_extend_dense(array),
280 },
281 DataType::RunEndEncoded(_, _) => run::build_extend(array),
282 }
283}
284
285fn build_extend_nulls(data_type: &DataType) -> ExtendNulls {
286 Box::new(match data_type {

Callers 1

with_capacitiesMethod · 0.70

Calls 3

build_extend_sparseFunction · 0.85
build_extend_denseFunction · 0.85
data_typeMethod · 0.45

Tested by

no test coverage detected