[Enhancement](table_function) table function node enhancement (#12038)

* table function node enhancement

* also avoid copy for non-vec table function node

* fix table function node output slots calculation while lateral view involves subquery

Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
This commit is contained in:
camby
2022-08-26 10:37:15 +08:00
committed by GitHub
parent ba11d8dc67
commit 0f4a1e811b
6 changed files with 71 additions and 9 deletions

View File

@ -166,6 +166,10 @@ Status VTableFunctionNode::get_expanded_block(RuntimeState* state, Block* output
// 1. copy data from child_block.
for (int i = 0; i < _child_slots.size(); i++) {
if (!slot_need_copy(i)) {
columns[i]->insert_default();
continue;
}
auto src_column = _child_block->get_by_position(i).column;
columns[i]->insert_from(*src_column, _cur_child_offset);
}
@ -231,4 +235,4 @@ Status VTableFunctionNode::_process_next_child_row() {
return Status::OK();
}
} // namespace doris::vectorized
} // namespace doris::vectorized