diff --git a/be/src/exprs/array_map_expr.cpp b/be/src/exprs/array_map_expr.cpp index fa905b97951d3..a2e785372edaa 100644 --- a/be/src/exprs/array_map_expr.cpp +++ b/be/src/exprs/array_map_expr.cpp @@ -140,21 +140,9 @@ StatusOr ArrayMapExpr::evaluate_lambda_expr(ExprContext* context, Chu DCHECK(aligned_offsets != nullptr); // 4. prepare outer common exprs - for (const auto& [slot_id, expr] : _outer_common_exprs) { - auto column = chunk->get_column_by_slot_id(slot_id); - column = ColumnHelper::unpack_and_duplicate_const_column(column->size(), column); - if constexpr (independent_lambda_expr) { - // if lambda expr doesn't rely on arguments, we don't need to align offset - cur_chunk->append_column(column, slot_id); - } else { - if (column->is_array()) { - auto view_column = ArrayViewColumn::from_array_column(column); - cur_chunk->append_column(view_column->replicate(aligned_offsets->get_data()), slot_id); - } else { - cur_chunk->append_column(column->replicate(aligned_offsets->get_data()), slot_id); - } - } - } + // we have already evaluated _outer_common_exprs in step 1 + // we don't need to add columns referenced in _outer_common_exprs again here. + // it does not seems to be necessary to add all referenced columns here again // 5. prepare capture columns for (auto slot_id : capture_slot_ids) {