MCPcopy Create free account
hub / github.com/apache/datafusion / first_array_for_list

Function first_array_for_list

datafusion/common/src/scalar/mod.rs:775–792  ·  view source on GitHub ↗

List/LargeList/FixedSizeList/ListView/LargeListView scalars always have a single element array. This function returns that array

(arr: &dyn Array)

Source from the content-addressed store, hash-verified

773/// List/LargeList/FixedSizeList/ListView/LargeListView scalars always have a single element
774/// array. This function returns that array
775fn first_array_for_list(arr: &dyn Array) -> ArrayRef {
776 assert_eq!(arr.len(), 1);
777 if let Some(arr) = arr.as_list_opt::<i32>() {
778 arr.value(0)
779 } else if let Some(arr) = arr.as_list_opt::<i64>() {
780 arr.value(0)
781 } else if let Some(arr) = arr.as_fixed_size_list_opt() {
782 arr.value(0)
783 } else if let Some(arr) = arr.as_list_view_opt::<i32>() {
784 arr.value(0)
785 } else if let Some(arr) = arr.as_list_view_opt::<i64>() {
786 arr.value(0)
787 } else {
788 unreachable!(
789 "Since only List / LargeList / FixedSizeList / ListView / LargeListView are supported, this should never happen"
790 )
791 }
792}
793
794/// Compares two List/LargeList/FixedSizeList/ListView/LargeListView scalars
795fn partial_cmp_list(arr1: &dyn Array, arr2: &dyn Array) -> Option<Ordering> {

Callers 1

partial_cmp_listFunction · 0.85

Calls 1

valueMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…