Fallback path for `string_to_array` when delimiter and/or null_value are array columns rather than scalars.
(args: &[ArrayRef])
| 417 | /// Fallback path for `string_to_array` when delimiter and/or null_value |
| 418 | /// are array columns rather than scalars. |
| 419 | fn string_to_array_fallback(args: &[ArrayRef]) -> Result<ArrayRef> { |
| 420 | let null_value_array = args.get(2); |
| 421 | |
| 422 | match args[0].data_type() { |
| 423 | Utf8 => { |
| 424 | let arr = args[0].as_string::<i32>(); |
| 425 | let builder = |
| 426 | StringBuilder::with_capacity(arr.len(), arr.get_buffer_memory_size()); |
| 427 | string_to_array_column_args(&arr, &args[1], null_value_array, builder) |
| 428 | } |
| 429 | Utf8View => { |
| 430 | let arr = args[0].as_string_view(); |
| 431 | let builder = StringViewBuilder::with_capacity(arr.len()); |
| 432 | string_to_array_column_args(&arr, &args[1], null_value_array, builder) |
| 433 | } |
| 434 | LargeUtf8 => { |
| 435 | let arr = args[0].as_string::<i64>(); |
| 436 | let builder = LargeStringBuilder::with_capacity( |
| 437 | arr.len(), |
| 438 | arr.get_buffer_memory_size(), |
| 439 | ); |
| 440 | string_to_array_column_args(&arr, &args[1], null_value_array, builder) |
| 441 | } |
| 442 | other => exec_err!("unsupported type for string_to_array function as {other:?}"), |
| 443 | } |
| 444 | } |
| 445 | |
| 446 | fn string_to_array_column_args<'a, StringArrType, StringBuilderType>( |
| 447 | string_array: &StringArrType, |
nothing calls this directly
no test coverage detected
searching dependent graphs…