[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

@ -51,8 +51,8 @@ Status VAssertNumRowsNode::get_next(RuntimeState* state, Block* block, bool* eos
INIT_AND_SCOPE_GET_NEXT_SPAN(state->get_tracer(), _get_next_span,
"VAssertNumRowsNode::get_next");
SCOPED_TIMER(_runtime_profile->total_time_counter());
RETURN_IF_ERROR_AND_CHECK_SPAN(child(0)->get_next(state, block, eos), child(0)->get_next_span(),
*eos);
RETURN_IF_ERROR_AND_CHECK_SPAN(child(0)->get_next_after_projects(state, block, eos),
child(0)->get_next_span(), *eos);
_num_rows_returned += block->rows();
bool assert_res = false;
switch (_assertion) {