OpenMLDB icon indicating copy to clipboard operation
OpenMLDB copied to clipboard

feat: add 'AddIndex' and 'DeleteIndex' for DiskTable

Open jiang1997 opened this issue 2 years ago • 4 comments

close https://github.com/4paradigm/OpenMLDB/issues/2018

Development

  • [x] 1. table.h: Add AddIndex and DeleteIndex as virtual member functions
  • [x] 2. disk_table.cc
    • [ ] implement AddIndex
      • [ ] concurrent?
    • [x] implement DeleteIndex
  • [x] 3. tablet_impl.cc
    • [x] enable DiskTable::AddIndex
    • [x] enable DiskTable::DeleteIndex

Test

  • [x] 1. disk_table_test.cc
    • [x] add a test for AddIndex
  • [x] 2. tablet_impl_test.cc
    • [x] enable test for DiskTable::AddIndex
    • [x] enable test for DiskTable::DeleteIndex

jiang1997 avatar Aug 17 '22 14:08 jiang1997

Linux Test Report

584 tests   577 :heavy_check_mark:  26m 51s :stopwatch:   58 suites      7 :zzz:   52 files        0 :x:

Results for commit 420f1f9a.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Aug 17 '22 14:08 github-actions[bot]

Codecov Report

Base: 75.88% // Head: 76.10% // Increases project coverage by +0.21% :tada:

Coverage data is based on head (420f1f9) compared to base (420fe1f). Patch coverage: 92.11% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2366      +/-   ##
============================================
+ Coverage     75.88%   76.10%   +0.21%     
- Complexity      392      393       +1     
============================================
  Files           646      648       +2     
  Lines        122317   122737     +420     
  Branches       1083     1083              
============================================
+ Hits          92821    93406     +585     
+ Misses        29259    29095     -164     
+ Partials        237      236       -1     
Impacted Files Coverage Δ
src/storage/mem_table.h 100.00% <ø> (ø)
src/storage/table.h 91.66% <ø> (ø)
src/tablet/tablet_impl.cc 62.92% <66.66%> (+0.07%) :arrow_up:
src/storage/disk_table.cc 81.14% <82.78%> (+0.17%) :arrow_up:
src/storage/disk_table.h 88.69% <90.00%> (+0.62%) :arrow_up:
src/storage/disk_table_test.cc 99.81% <100.00%> (+0.02%) :arrow_up:
src/tablet/tablet_impl_test.cc 99.54% <100.00%> (-0.01%) :arrow_down:
src/storage/segment.h 86.88% <0.00%> (-9.48%) :arrow_down:
src/codec/field_codec.h 16.66% <0.00%> (-4.77%) :arrow_down:
src/rpc/rpc_client.h 85.13% <0.00%> (-4.06%) :arrow_down:
... and 42 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov[bot] avatar Aug 17 '22 15:08 codecov[bot]

SDK Test Report

  83 files    83 suites   2m 1s :stopwatch: 176 tests 170 :heavy_check_mark: 6 :zzz: 0 :x: 222 runs  216 :heavy_check_mark: 6 :zzz: 0 :x:

Results for commit 420f1f9a.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Aug 17 '22 16:08 github-actions[bot]

There are multiple functions that either change the element of cf_hs_ or cause cf_hs_to to reallocate. For thread safety, I simply use std::mutex to prevent accessing cf_hs_ simultaneously. Is there any more canonical way to do so, please?

jiang1997 avatar Aug 27 '22 16:08 jiang1997

rebase or merge from main branch

zhanghaohit avatar Oct 24 '22 02:10 zhanghaohit