txm: skip ephemeral spaces while positioning iterator
In tree_iterator_start() it was assumed that iterator always contains valid space id. However, ephemeral spaces are known to have zero space id. So in case we are starting iterator which belongs to ephemeral space, we can't simply find that space in space cache. Moreover, we don't need to track ephemeral spaces in MVCC at all since they can be accessed only pointers and their lifespan is restricted by SQL query execution. So let's skip any MVCC-related routine while starting an iterator. Closes #6095
Showing
- changelogs/unreleased/gh-6095-mvcc-ephemeral-spaces.md 4 additions, 0 deletionschangelogs/unreleased/gh-6095-mvcc-ephemeral-spaces.md
- src/box/memtx_tree.cc 1 addition, 0 deletionssrc/box/memtx_tree.cc
- src/box/memtx_tx.h 7 additions, 0 deletionssrc/box/memtx_tx.h
- test/box/tx_man.result 15 additions, 0 deletionstest/box/tx_man.result
- test/box/tx_man.test.lua 6 additions, 0 deletionstest/box/tx_man.test.lua
Loading
Please register or sign in to comment