Skip to content

Commit 3fb67a6

Browse files
committed
upd
1 parent f531c4d commit 3fb67a6

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

be/src/vec/exec/scan/file_scanner.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,17 +322,24 @@ Status FileScanner::_process_runtime_filters_partition_prune(bool& can_filter_al
322322
index++;
323323
}
324324

325+
ColumnPtr tmp_first_column;
326+
325327
// 2.2 Execute conjuncts.
326328
if (!first_column_filled) {
327329
// VExprContext.execute has an optimization, the filtering is executed when block->rows() > 0
328330
// The following process may be tricky and time-consuming, but we have no other way.
329-
_runtime_filter_partition_prune_block.get_by_position(0).column->assume_mutable()->resize(
330-
partition_value_column_size);
331+
tmp_first_column = _runtime_filter_partition_prune_block.get_by_position(0).column;
332+
_runtime_filter_partition_prune_block.get_by_position(0).column =
333+
ColumnNothing::create(partition_value_column_size);
331334
}
332335
IColumn::Filter result_filter(_runtime_filter_partition_prune_block.rows(), 1);
333336
RETURN_IF_ERROR(VExprContext::execute_conjuncts(_runtime_filter_partition_prune_ctxs, nullptr,
334337
&_runtime_filter_partition_prune_block,
335338
&result_filter, &can_filter_all));
339+
340+
if (!first_column_filled) {
341+
_runtime_filter_partition_prune_block.get_by_position(0).column = tmp_first_column;
342+
}
336343
return Status::OK();
337344
}
338345

0 commit comments

Comments
 (0)