(args: &[ArrayRef])
| 173 | } |
| 174 | |
| 175 | fn sha2_impl(args: &[ArrayRef]) -> Result<ArrayRef> { |
| 176 | let [values, bit_lengths] = take_function_args("sha2", args)?; |
| 177 | |
| 178 | let bit_lengths = bit_lengths.as_primitive::<Int32Type>(); |
| 179 | let output = match values.data_type() { |
| 180 | DataType::Binary => sha2_binary_impl(&values.as_binary::<i32>(), bit_lengths), |
| 181 | DataType::LargeBinary => { |
| 182 | sha2_binary_impl(&values.as_binary::<i64>(), bit_lengths) |
| 183 | } |
| 184 | DataType::BinaryView => sha2_binary_impl(&values.as_binary_view(), bit_lengths), |
| 185 | dt => return internal_err!("Unsupported datatype for sha2: {dt}"), |
| 186 | }; |
| 187 | Ok(output) |
| 188 | } |
| 189 | |
| 190 | fn sha2_binary_impl<'a, BinaryArrType>( |
| 191 | values: &BinaryArrType, |
nothing calls this directly
no test coverage detected
searching dependent graphs…