(args: &[ArrayRef])
| 202 | } |
| 203 | |
| 204 | fn array_ndims_inner(args: &[ArrayRef]) -> Result<ArrayRef> { |
| 205 | let [array] = take_function_args("array_ndims", args)?; |
| 206 | |
| 207 | fn general_list_ndims(array: &ArrayRef) -> Result<ArrayRef> { |
| 208 | let ndims = list_ndims(array.data_type()); |
| 209 | let data = vec![ndims; array.len()]; |
| 210 | let result = UInt64Array::new(data.into(), array.nulls().cloned()); |
| 211 | Ok(Arc::new(result)) |
| 212 | } |
| 213 | |
| 214 | match array.data_type() { |
| 215 | Null => Ok(Arc::new(UInt64Array::new_null(array.len()))), |
| 216 | List(_) | LargeList(_) | FixedSizeList(..) => general_list_ndims(array), |
| 217 | arg_type => exec_err!("array_ndims does not support type {arg_type}"), |
| 218 | } |
| 219 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…