The expected input is in the format of [((OriginalRow, InputValue), OrderByExprs...)]
(
datums: I,
callers_temp_storage: &'a RowArena,
order_by: &[ColumnOrder],
window_frame: &WindowFrame,
)
| 895 | |
| 896 | /// The expected input is in the format of [((OriginalRow, InputValue), OrderByExprs...)] |
| 897 | fn first_value<'a, I>( |
| 898 | datums: I, |
| 899 | callers_temp_storage: &'a RowArena, |
| 900 | order_by: &[ColumnOrder], |
| 901 | window_frame: &WindowFrame, |
| 902 | ) -> Datum<'a> |
| 903 | where |
| 904 | I: IntoIterator<Item = Datum<'a>>, |
| 905 | { |
| 906 | let temp_storage = RowArena::new(); |
| 907 | let iter = first_value_no_list(datums, &temp_storage, order_by, window_frame); |
| 908 | callers_temp_storage.make_datum(|packer| { |
| 909 | packer.push_list(iter); |
| 910 | }) |
| 911 | } |
| 912 | |
| 913 | /// Like `first_value`, but doesn't perform the final wrapping in a list, returning an Iterator |
| 914 | /// instead. |
no test coverage detected