Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-5527

[C++] HashTable/MemoTable should use Buffer(s)/Builder(s) for heap data

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.15.0
    • C++

    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.

      Attachments

        Issue Links

          Activity

            People

              fsaintjacques Francois Saint-Jacques
              fsaintjacques Francois Saint-Jacques
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 10h 10m
                  10h 10m