Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement logarithmic index:count in the memtx tree #10139

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

mkostoevr
Copy link
Contributor

@mkostoevr mkostoevr commented Jun 14, 2024

Part of #8204

The method is used in order to skip the specified amount of tuples
when selecting with an offset.

NO_DOC=internal
NO_TEST=covered already
NO_CHANGELOG=internal
@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch from 4f6af76 to 591a4f6 Compare June 14, 2024 20:09
@coveralls
Copy link

Coverage Status

coverage: 86.997% (-0.1%) from 87.105%
when pulling 591a4f6 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into c5b3e59
on tarantool:master
.

This commit introduces a new `fast_offset` option of index. It means
to enable the acceleration of select with offset in an index if it
supports that (currently none of indexes do).

NO_DOC=see the next commit
NO_CHANGELOG=see the next commit
@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch from 591a4f6 to 17eaf09 Compare June 15, 2024 21:41
@coveralls
Copy link

Coverage Status

coverage: 87.018% (-0.09%) from 87.105%
when pulling 17eaf09 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into c5b3e59
on tarantool:master
.

This patch makes the memtx tree index create different trees depending
on the `fast_offset` index option. This is the first step towards the
logarithmic select and iteration with offset and count implementation.

NO_DOC=see the next commit
NO_CHANGELOG=see the next commit
@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch from 17eaf09 to 26bd05f Compare June 17, 2024 08:49
@mkostoevr mkostoevr changed the title [WIP] Support the logarithmic offset and count in memtx tree. Implement logarithmic index:count in the memtx tree Jun 17, 2024
@coveralls
Copy link

Coverage Status

coverage: 87.051% (-0.06%) from 87.106%
when pulling 26bd05f on mkostoevr:m.kostoev/gh-8204-log-offset-box
into 3d97334
on tarantool:master
.

@coveralls
Copy link

Coverage Status

coverage: 86.935% (-0.2%) from 87.106%
when pulling e55b274 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into 3d97334
on tarantool:master
.

@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch 2 times, most recently from cd5649c to 29c2d60 Compare June 18, 2024 13:16
@coveralls
Copy link

Coverage Status

coverage: 87.082% (+0.01%) from 87.072%
when pulling 29c2d60 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into 29519c7
on tarantool:master
.

@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch from 29c2d60 to 4fdbdb9 Compare June 18, 2024 13:50
@coveralls
Copy link

Coverage Status

coverage: 87.104% (+0.03%) from 87.072%
when pulling 4fdbdb9 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into 29519c7
on tarantool:master
.

@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch from 4fdbdb9 to 0765217 Compare June 18, 2024 15:16
@coveralls
Copy link

Coverage Status

coverage: 87.08% (+0.008%) from 87.072%
when pulling 0765217 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into 29519c7
on tarantool:master
.

This patch creates a specialized implementation for `count` tree index
method, which takes advantage of offset-based functions of the BPS tree
with BPS_INNER_CARD config.

In order to handle keys and iterators consistently with `select`, the
iterator creation and key lookup algorithms had been refactored into
separated functions.

NO_DOC=see the next commit
NO_CHANGELOG=see the next commit
@mkostoevr mkostoevr force-pushed the m.kostoev/gh-8204-log-offset-box branch from 0765217 to b2d5ea9 Compare June 18, 2024 18:40
@coveralls
Copy link

Coverage Status

coverage: 87.105% (-0.03%) from 87.13%
when pulling b2d5ea9 on mkostoevr:m.kostoev/gh-8204-log-offset-box
into 49946a7
on tarantool:master
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants