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

Function cardinality_inner

datafusion/functions-nested/src/cardinality.rs:113–133  ·  view source on GitHub ↗
(args: &[ArrayRef])

Source from the content-addressed store, hash-verified

111}
112
113fn cardinality_inner(args: &[ArrayRef]) -> Result<ArrayRef> {
114 let [array] = take_function_args("cardinality", args)?;
115 match array.data_type() {
116 Null => Ok(Arc::new(UInt64Array::new_null(array.len()))),
117 List(_) => {
118 let list_array = as_list_array(array)?;
119 generic_list_cardinality::<i32>(list_array)
120 }
121 LargeList(_) => {
122 let list_array = as_large_list_array(array)?;
123 generic_list_cardinality::<i64>(list_array)
124 }
125 Map(_, _) => {
126 let map_array = as_map_array(array)?;
127 generic_map_cardinality(map_array)
128 }
129 arg_type => {
130 exec_err!("cardinality does not support type {arg_type}")
131 }
132 }
133}
134
135fn generic_map_cardinality(array: &MapArray) -> Result<ArrayRef> {
136 let result: UInt64Array = array

Callers

nothing calls this directly

Calls 8

take_function_argsFunction · 0.85
newFunction · 0.85
as_list_arrayFunction · 0.85
as_large_list_arrayFunction · 0.85
as_map_arrayFunction · 0.85
generic_map_cardinalityFunction · 0.85
data_typeMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…