memtx: introduce createSnapshotIterator method in index
Memtx checkpointing subsystem uses createReadViewForIterator and destroyReadViewForIterator methods of Index. So these methods are used only for ALL iterators before actual iteration starts. * no other cases of these methods using are covered by tests, for example EQ iteration or using in the middle of iteration. * creation of general read view iterator is an overkill for such a simple case as ALL iterator. * memtx read view iterators are incompatible with lazy lookup and restoration patterns that are necessary for implementing stable iterators. Introduce new createSnapshotIterator method that would create a special iterator for checkpointing and remove misleading createReadViewForIterator and destroyReadViewForIterator methods.
Showing
- src/box/index.cc 5 additions, 16 deletionssrc/box/index.cc
- src/box/index.h 4 additions, 8 deletionssrc/box/index.h
- src/box/memtx_engine.cc 1 addition, 6 deletionssrc/box/memtx_engine.cc
- src/box/memtx_hash.cc 42 additions, 14 deletionssrc/box/memtx_hash.cc
- src/box/memtx_hash.h 4 additions, 8 deletionssrc/box/memtx_hash.h
- src/box/memtx_tree.cc 35 additions, 44 deletionssrc/box/memtx_tree.cc
- src/box/memtx_tree.h 4 additions, 8 deletionssrc/box/memtx_tree.h
Loading
Please register or sign in to comment