MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / array_concat

Function array_concat

src/expr/src/relation/func.rs:412–429  ·  view source on GitHub ↗
(datums: I, temp_storage: &'a RowArena, order_by: &[ColumnOrder])

Source from the content-addressed store, hash-verified

410}
411
412fn array_concat<'a, I>(datums: I, temp_storage: &'a RowArena, order_by: &[ColumnOrder]) -> Datum<'a>
413where
414 I: IntoIterator<Item = Datum<'a>>,
415{
416 let datums = order_aggregate_datums(datums, order_by);
417 let datums: Vec<_> = datums
418 .into_iter()
419 .map(|d| d.unwrap_array().elements().iter())
420 .flatten()
421 .collect();
422 let dims = ArrayDimension {
423 lower_bound: 1,
424 length: datums.len(),
425 };
426 temp_storage.make_datum(|packer| {
427 packer.try_push_array(&[dims], datums).unwrap();
428 })
429}
430
431fn list_concat<'a, I>(datums: I, temp_storage: &'a RowArena, order_by: &[ColumnOrder]) -> Datum<'a>
432where

Callers 1

eval_datumsMethod · 0.85

Calls 12

order_aggregate_datumsFunction · 0.85
elementsMethod · 0.80
unwrap_arrayMethod · 0.80
make_datumMethod · 0.80
unwrapMethod · 0.80
try_push_arrayMethod · 0.80
collectMethod · 0.45
flattenMethod · 0.45
mapMethod · 0.45
into_iterMethod · 0.45
iterMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected