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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]