Skip to content
Snippets Groups Projects
Commit 3f026339 authored by Vladimir Davydov's avatar Vladimir Davydov Committed by Vladimir Davydov
Browse files

vinyl: implement iterator pagination

Pagination for vinyl works exactly like in memtx: the feature is tested
by the existing test, which was providently created as multi-engine.

The idea is to set vy_read_iterator::last, which is used for restoring
the iterator after changes in the LSM-tree structure, to the iterator
position provided by the user at the time when the iterator is opened.
Note, we can't use vy_read_iterator::last for reporting the current
iterator position back to the user, because the iterator is closed on
the last iteration so as not to postpone freeing resources until
the Lua garbage collector kicks in, so we have to add a new member to
the vinyl_iterator struct for storing the current position and update
it after each call to vy_read_iterator_next().

Closes #7634

NO_DOC=later
NO_CHANGELOG=later
parent 508e8915
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment