Tim Armstrong has posted comments on this change.

Change subject: IMPALA-4302,IMPALA-2379: constant expr arg fixes
......................................................................


Patch Set 4:

(11 comments)

http://gerrit.cloudera.org:8080/#/c/4838/4//COMMIT_MSG
Commit Message:

Line 18: arguments for ScalarFnCall expressions on both the codegen'd and
> missing words
Done


PS4, Line 36: temporary
> automatic?  at least I would have understood this a little quicker with tha
Done


http://gerrit.cloudera.org:8080/#/c/4838/4/be/src/exprs/agg-fn-evaluator.cc
File be/src/exprs/agg-fn-evaluator.cc:

PS4, Line 158: ",
> is it worth differentiating these messages to make debugging easier?
Can't hurt.


http://gerrit.cloudera.org:8080/#/c/4838/4/be/src/exprs/anyval-util.h
File be/src/exprs/anyval-util.h:

PS4, Line 297: The returned AnyVal is not initialized.
> this sentence is repeated
Done


http://gerrit.cloudera.org:8080/#/c/4838/4/be/src/exprs/expr-context.h
File be/src/exprs/expr-context.h:

PS4, Line 66: fragment
> do you mean fragment instance?
It's kind-of unclear what the direction here is. There's a FRAGMENT_LOCAL 
concept in the udf interface that this corresponds to, so I think this is 
consistent at the moment (although maybe it should be FRAGMENT_INSTANCE_LOCAL 
everywhere).


http://gerrit.cloudera.org:8080/#/c/4838/4/be/src/exprs/scalar-fn-call.cc
File be/src/exprs/scalar-fn-call.cc:

PS4, Line 188: fragment
> fragment or fragment instance?
Reworded to avoid making the distinction and be clearer. It's not clear that 
the FRAGMENT_LOCAL terminology is accurate, but I think that's out of scope for 
this fix.


PS4, Line 189: cases
> not sure what this sentence is saying. what cases?
Reworded to be clearer. It's copied when the ExprContext is cloned.


Line 205:     // children.
> do we document the calling convention somewhere? I think a brief explanatio
Updated the comment. The UDF calling convention is in udf/udf.h and the 
contents of the buffers are in udf/udf-internal.h


PS4, Line 340: optimise out the buffer
> is this also enabling constant propagation for constant args, or was that a
The constant was propagated but the side-effect of storing to the varargs 
buffer couldn't be optimised out.


PS4, Line 370: Either no varargs or arguments before varargs begin
> this comment seems unnecessary with the new conditional
Done


http://gerrit.cloudera.org:8080/#/c/4838/4/be/src/runtime/free-pool.h
File be/src/runtime/free-pool.h:

Line 73:     size = std::max<int64_t>(8, size);
> seems fine, but why is it required?
Not required but it's pointless making smaller allocations, since it's aligned 
to 8 bytes by the MemPool anyway. Added a comment


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

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

Reply via email to