memtx: split `memtx_tx_story_unlink_both` logic in two separate contexts
`memtx_tx_story_unlink_both` is called in two separate contexts: on space delete and on rollback. In the former case we need to simply unlink the story, while in the latter case we need to rebind read and gap trackers, and, perhaps do some other logic in the future. Calling `memtx_tx_story_unlink_both` in the former context can trigger assertion: split the function and its helpers into two separate functions for each case, grouping the common logic into third `*_common` functions. Closes #7757 NO_DOC=bugfix
Showing
- changelogs/unreleased/gh-7757-memtx-space-drop-triggers-assertion.md 3 additions, 0 deletions...unreleased/gh-7757-memtx-space-drop-triggers-assertion.md
- src/box/memtx_tx.c 125 additions, 42 deletionssrc/box/memtx_tx.c
- test/box-luatest/gh_7757_memtx_space_drop_triggers_assertion_test.lua 29 additions, 0 deletions...test/gh_7757_memtx_space_drop_triggers_assertion_test.lua
Loading