MCPcopy Create free account
hub / github.com/apache/datafusion / rewrite_recursive_unnests_bottom_up

Function rewrite_recursive_unnests_bottom_up

datafusion/sql/src/utils.rs:354–374  ·  view source on GitHub ↗
(
    input: &LogicalPlan,
    unnest_placeholder_columns: &mut IndexMap<Column, Option<Vec<ColumnUnnestList>>>,
    inner_projection_exprs: &mut Vec<Expr>,
    original_exprs: &[Expr],
)

Source from the content-addressed store, hash-verified

352}
353
354pub(crate) fn rewrite_recursive_unnests_bottom_up(
355 input: &LogicalPlan,
356 unnest_placeholder_columns: &mut IndexMap<Column, Option<Vec<ColumnUnnestList>>>,
357 inner_projection_exprs: &mut Vec<Expr>,
358 original_exprs: &[Expr],
359) -> Result<Vec<Expr>> {
360 Ok(original_exprs
361 .iter()
362 .map(|expr| {
363 rewrite_recursive_unnest_bottom_up(
364 input,
365 unnest_placeholder_columns,
366 inner_projection_exprs,
367 expr,
368 )
369 })
370 .collect::<Result<Vec<_>>>()?
371 .into_iter()
372 .flatten()
373 .collect::<Vec<_>>())
374}
375
376pub const UNNEST_PLACEHOLDER: &str = "__unnest_placeholder";
377

Callers 1

Calls 5

flattenMethod · 0.80
into_iterMethod · 0.45
mapMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…