HappenLee commented on code in PR #14868: URL: https://github.com/apache/doris/pull/14868#discussion_r1043212697
########## be/src/vec/exec/vset_operation_node.cpp: ########## @@ -312,28 +445,73 @@ Status VSetOperationNode::process_build_block(Block& block, uint8_t offset) { return Status::OK(); } -Status VSetOperationNode::process_probe_block(RuntimeState* state, int child_id, bool* eos) { - if (!_probe_column_inserted_id.empty()) { - for (int j = 0; j < _probe_column_inserted_id.size(); ++j) { - auto column_to_erase = _probe_column_inserted_id[j]; - _probe_block.erase(column_to_erase - j); - } - _probe_column_inserted_id.clear(); +template <bool is_intersect> +void VSetOperationNode<is_intersect>::add_result_columns(RowRefListWithFlags& value, + int& block_size) { + auto it = value.begin(); + for (auto idx = _build_col_idx.begin(); idx != _build_col_idx.end(); ++idx) { + auto& column = *_build_blocks[it->block_offset].get_by_position(idx->first).column; + _mutable_cols[idx->second]->insert_from(column, it->row_num); + } + block_size++; +} + +template <bool is_intersect> +Status VSetOperationNode<is_intersect>::sink_probe(RuntimeState* /*state*/, int child_id, + Block* block, bool eos) { + if (eos) { + _probe_finished_children_index[child_id] = true; Review Comment: the work may should do in finalize -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org