Don't consider multikey/functional indexes in query planner
Open
Nobody has claimed this yet.
code health
- Dominant language
- Lua
- Stars
- 43
- Forks
- 17
- Avg merge
- 28m
- Merged PRs (30d)
- 2
Description
Seems it's quite complex task - multikey index support for several reasons:
- Tarantool doesn't provide user-friendly ways to merge tuples from multikey indexes (see https://github.com/tarantool/tarantool/issues/5270)
- Multikey index could return single tuple several times that could confuse users and we don't have "distinct option"
- Usage of multikey indexes requires FFI magic with Tarantool tree iterator - and it's different in different Tarantool versions
- May be it will be great to support "ALL IN" or "ANY IN" operators for multikey indexes (e.g. I have indexed array [1, 2, 3]. If I specify {"> ANY", 'array', 2} - it's true, because "3 > 2" matches, but {"> ALL", 'array', 2} because "2 > 2" - false and "1 > 2" - false)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no source files or tests, so begin by locating the query planner's index-selection entry points and how multikey and functional indexes are represented. Read Tarantool issue 5270 for the tuple-merging constraint, then clarify whether completion means excluding these indexes, supporting them, or adding ALL/ANY operators; the issue does not define a testable final scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100