(a: Array<'a>, i: i64)
| 2792 | // TODO(benesch): remove potentially dangerous usage of `as`. |
| 2793 | #[allow(clippy::as_conversions)] |
| 2794 | fn array_upper<'a>(a: Array<'a>, i: i64) -> Result<Option<i32>, EvalError> { |
| 2795 | if i < 1 { |
| 2796 | return Ok(None); |
| 2797 | } |
| 2798 | a.dims() |
| 2799 | .into_iter() |
| 2800 | .nth(i as usize - 1) |
| 2801 | .map(|dim| { |
| 2802 | let (_lower, upper) = dim.dimension_bounds(); |
| 2803 | upper |
| 2804 | .try_into() |
| 2805 | .map_err(|_| EvalError::Int32OutOfRange(upper.to_string().into())) |
| 2806 | }) |
| 2807 | .transpose() |
| 2808 | } |
| 2809 | |
| 2810 | #[sqlfunc( |
| 2811 | is_infix_op = true, |
no test coverage detected