Skip to content

Commit

Permalink
[BugFix] remove unnecessary replicate for outer_common_expr (#52649)
Browse files Browse the repository at this point in the history
Signed-off-by: silverbullet233 <[email protected]>
(cherry picked from commit ee085bf)
  • Loading branch information
silverbullet233 authored and mergify[bot] committed Nov 6, 2024
1 parent 152f298 commit 7f71d07
Showing 1 changed file with 2 additions and 22 deletions.
24 changes: 2 additions & 22 deletions be/src/exprs/array_map_expr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,28 +140,8 @@ StatusOr<ColumnPtr> 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);
}
}
}

// 5. prepare capture columns
// 4. prepare capture columns
for (auto slot_id : capture_slot_ids) {
if (cur_chunk->is_slot_exist(slot_id)) {
continue;
}
auto captured_column = chunk->get_column_by_slot_id(slot_id);
if constexpr (independent_lambda_expr) {
cur_chunk->append_column(captured_column, slot_id);
Expand All @@ -175,7 +155,7 @@ StatusOr<ColumnPtr> ArrayMapExpr::evaluate_lambda_expr(ExprContext* context, Chu
}
}

// 6. evaluate lambda expr
// 5. evaluate lambda expr
ColumnPtr column = nullptr;
if constexpr (independent_lambda_expr) {
// if lambda expr doesn't rely on arguments, we evaluate it first, and then align offsets
Expand Down

0 comments on commit 7f71d07

Please sign in to comment.