Dan Hecht has posted comments on this change.

Change subject: IMPALA-4008: Don't bake ExprContext pointers into IR code
......................................................................


Patch Set 4:

(8 comments)

http://gerrit.cloudera.org:8080/#/c/4390/4/be/src/exec/aggregation-node.cc
File be/src/exec/aggregation-node.cc:

Line 90:       // TODO: Fix CodegenUpdateSlot() to handle AggFnEvaluator with > 
1 ExprContexts.
is this comment talking about the DCHECK? i.e. is it saying that if we had an 
aggregator with more than one ExprContexts that we thought we knew how to 
codgen, then we'd hit this DCHECK? I'm not really sure what this comment is 
trying to tell me. 

Also this code seems to be implying that agg_expr_ctxs_ can only be used by the 
codgen path, but is that actually stated or enforced somewhere?


Line 387:   }
why is this change needed?  shouldn't fn_ctxs always be the same as 
&this->agg_fn_ctxs_?


http://gerrit.cloudera.org:8080/#/c/4390/4/be/src/exec/aggregation-node.h
File be/src/exec/aggregation-node.h:

PS4, Line 75: for each agg fn
this is the same correspondence as your new agg_expr_ctxs_, right? So let's 
word the comment similarly so there's no question about that.


PS4, Line 146: of AggFnEvaluator
this comment sounds like there are many expression contexts per single 
AggFnEvaluator. clarify it.


http://gerrit.cloudera.org:8080/#/c/4390/4/be/src/exec/hash-table.cc
File be/src/exec/hash-table.cc:

PS4, Line 707: PointerType::get
why do we use this directly rather than codegen->GetPtrType()?  Let's be 
consistent one way or the other.  (And we don't even need tuple_row_type here).


Line 1061:   PointerType* this_ptr_type = PointerType::get(this_type, 0);
same (and looks like we do this a lot in this file -- okay to cleanup as a 
second step).


http://gerrit.cloudera.org:8080/#/c/4390/4/be/src/exec/partitioned-aggregation-node.cc
File be/src/exec/partitioned-aggregation-node.cc:

PS4, Line 1510: agg_expr_ctx = evaluator->input_expr_ctxs()[0];
how does this make sense? shouldn't we be codegening based on something that's 
not thread-specific?


http://gerrit.cloudera.org:8080/#/c/4390/4/be/src/exec/partitioned-aggregation-node.h
File be/src/exec/partitioned-aggregation-node.h:

PS4, Line 527:  of the AggFnEvaluator.
same


-- 
To view, visit http://gerrit.cloudera.org:8080/4390
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I42039eed803a39fa716b9ed647510b6440974ae5
Gerrit-PatchSet: 4
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com>
Gerrit-Reviewer: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to