[ https://issues.apache.org/jira/browse/ARROW-5527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francois Saint-Jacques updated ARROW-5527: ------------------------------------------ Description: The current implementation uses `std::vector` and `std::string` with unbounded size. The refactor would take a memory pool in the constructor for buffer management and would get rid of vectors. This will have the side effect of propagating Status to some calls (notably insert due to Upsize failing to resize). * MemoTable constructor needs to take a MemoryPool in input * GetOrInsert must return Status/Result<int32_t> * MemoTable should use a TypeBufferBuilder instead of std::vector<Payload> * BinaryMemoTable should use a BinaryBuilder instead of (std::vector<int32_t>, std::string) pair. was:The current implementation uses `std::vector` and `std::string` with unbounded size. The refactor would take a memory pool in the constructor for buffer management and would get rid of vectors. This will have the side effect of propagating Status to some calls (notably insert due to Upsize failing to resize). > [C++] HashTable/MemoTable should use Buffer(s)/Builder(s) for heap data > ----------------------------------------------------------------------- > > Key: ARROW-5527 > URL: https://issues.apache.org/jira/browse/ARROW-5527 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ > Reporter: Francois Saint-Jacques > Assignee: Francois Saint-Jacques > Priority: Major > > The current implementation uses `std::vector` and `std::string` with > unbounded size. The refactor would take a memory pool in the constructor for > buffer management and would get rid of vectors. This will have the side > effect of propagating Status to some calls (notably insert due to Upsize > failing to resize). > * MemoTable constructor needs to take a MemoryPool in input > * GetOrInsert must return Status/Result<int32_t> > * MemoTable should use a TypeBufferBuilder instead of std::vector<Payload> > * BinaryMemoTable should use a BinaryBuilder instead of > (std::vector<int32_t>, std::string) pair. -- This message was sent by Atlassian JIRA (v7.6.3#76005)