ZhangHuiGui commented on code in PR #41352:
URL: https://github.com/apache/arrow/pull/41352#discussion_r1580437691
##########
cpp/src/arrow/compute/row/grouper.cc:
##########
@@ -595,7 +598,13 @@ struct GrouperFastImpl : public Grouper {
return std::move(impl);
}
- ~GrouperFastImpl() { map_.cleanup(); }
+ Status Reset() override {
+ rows_.Clean();
+ rows_minibatch_.Clean();
+ map_.cleanup();
+ RETURN_NOT_OK(map_.init(encode_ctx_.hardware_flags, ctx_->memory_pool()));
+ return Status::OK();
Review Comment:
Ah, i see, thanks.
`TempVectorStack` will hold a resizable buffer allocated in
`TempVectorStack::Init` function until the end of the grouper object.
But the `TempVectorHolder` will release the used space (already allocated in
TempVectorStack ) at the call to each of individual grouper member function as
you said.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]