Tim Armstrong has posted comments on this change. Change subject: IMPALA-3931: arbitrary fixed-size uda intermediate types ......................................................................
Patch Set 12: (1 comment) http://gerrit.cloudera.org:8080/#/c/7526/12/be/src/udf/udf.h File be/src/udf/udf.h: PS12, Line 346: For UDAs that need a complex data structure as the intermediate state, the : /// intermediate type should be string and the UDA can cast the ptr to the structure : /// it is using. : /// : /// Memory Management: For allocations that are not returned to Impala, the UDA should use : /// the FunctionContext::Allocate()/Free() methods. In general, Allocate() is called in : /// Init(), and then Free() must be called in both Serialize() and Finalize(), since : /// either of these functions may be called to clean up the state. For StringVal : /// allocations returned to Impala (e.g. returned by UdaSerialize()), the UDA should : /// allocate the result via StringVal(FunctionContext*, int) ctor or the function : /// StringVal::CopyFrom(FunctionContext*, const uint8_t*, size_t) and Impala will : /// automatically handle freeing it. > I extended the comment in PrimitiveType.java and partitioned-aggregation-no By "pointers" I mean comments explicitly mentioning FIXED_UDA_INTERMEDIATE -- To view, visit http://gerrit.cloudera.org:8080/7526 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ife90cf27989f98ffb5ef5c39f1e09ce92e8cb87c Gerrit-PatchSet: 12 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Matthew Jacobs <[email protected]> Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
