File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments