westonpace commented on a change in pull request #8984:
URL: https://github.com/apache/arrow/pull/8984#discussion_r546936946
##########
File path: cpp/src/arrow/array/concatenate.cc
##########
@@ -163,6 +163,46 @@ static Status PutOffsets(const std::shared_ptr<Buffer>&
src, Offset first_offset
return Status::OK();
}
+struct DictionaryConcatenate {
Review comment:
The rest of the concatenation functions simply memcpy'd the buffers.
However, the dictionary concatenation needs to map buffers to potentially new
index values. As a result, this function needs to know the type of the buffer
for the reinterpret case on line 190. Also, the fact that memo table indices
are 32 bit and dictionary indices could be 64 bit is a potential problem but
one that already existed and it seems unlikely that a dictionary array would be
used when there are 4B unique values.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]