[feature](Nereids)add the ability of projection on each ExecNode and add column prune on OlapScan (#11842)

We have added logical project before, but to actually finish the prune to reduce the data IO, we need to add related supports in translator and BE.
This PR:
- add projections on each ExecNode in BE
- translate PhysicalProject into projections on PlanNode in FE
- do column prune on ScanNode in FE

Co-authored-by: HappenLee <happenlee@hotmail.com>
This commit is contained in:
Kikyou1997
2022-08-30 16:17:10 +08:00
committed by GitHub
parent fb27e3ef31
commit 9a74ad1702
40 changed files with 352 additions and 129 deletions

View File

@ -117,7 +117,7 @@ Status VTableFunctionNode::get_expanded_block(RuntimeState* state, Block* output
if (_child_block->rows() == 0) {
while (_child_block->rows() == 0 && !_child_eos) {
RETURN_IF_ERROR_AND_CHECK_SPAN(
child(0)->get_next(state, _child_block.get(), &_child_eos),
child(0)->get_next_after_projects(state, _child_block.get(), &_child_eos),
child(0)->get_next_span(), _child_eos);
}
if (_child_eos && _child_block->rows() == 0) {