Tim Armstrong has posted comments on this change. Change subject: IMPALA-4192: Avoid updating Expr's states from ExprContext ......................................................................
Patch Set 2: I do think we need three classes here (the documentation and maybe naming could definitely be improved). The Expr class is the constant information about the expression itself - the ExprContext contains thread-local state for the whole expr tree. The FunctionContext contains thread-local state for specific expr nodes that need it and is part of the UDF interface. I think having three different classes with those scopes is necessary since there's state that needs to be stored in each. I feel like ExprContext is the confusing part - the other two mostly make sense. Maybe it would be clearer if ExprContext was something like ExprEvalContext or ExprTreeContext? I think that's the main thing that throws me off since the cardinality of ExprContext compared to Expr isn't obvious based on the name. -- 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: 2 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: No
