Marcel Kornacker has posted comments on this change. Change subject: IMPALA-4192: Disentangle Expr and ExprContext ......................................................................
Patch Set 9: (5 comments) http://gerrit.cloudera.org:8080/#/c/5483/9/be/src/exec/aggregation-node.cc File be/src/exec/aggregation-node.cc: Line 66: singleton_intermediate_tuple_(nullptr), initialize in .h where possible Line 88: RowDescriptor build_row_desc(intermediate_tuple_desc_, false); i would intuitively think that the build row is the input row. Line 97: RETURN_IF_ERROR(build_expr->Init(state, build_row_desc)); it feels dicey to pass a reference to an automatic variable, Init() might hold on to it (and there is no reason it shouldn't - descriptors should last for the lifetime of the query). this row descriptor should be member var and created in the c'tor. Line 232: ScalarExprEvaluator* const* evaluators = &conjunct_evaluators_[0]; isn't that the same as const X**? http://gerrit.cloudera.org:8080/#/c/5483/9/be/src/exprs/scalar-expr.h File be/src/exprs/scalar-expr.h: Line 156: friend class AggFnEvaluator; why are these all friends? it looks like more of the "protected" functions need to be public. (why is Init() protected?) -- To view, visit http://gerrit.cloudera.org:8080/5483 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Iefdc9aeeba033355cb9497e3a5d2363627dcf2f3 Gerrit-PatchSet: 9 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Michael Ho <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Marcel Kornacker <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
