-
Notifications
You must be signed in to change notification settings - Fork 14
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
Features for more customized behavior #52
Conversation
9735c15
to
1b3f665
Compare
cd76247
to
8f9cce7
Compare
665c9a8
to
89106b1
Compare
82923e6
to
6858181
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I give up. Probably we should start to file issues for some comments. Otherwise there is a risk that this patch never will be merged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Limit commit message width in commits "Iterate_with and process_while" and "Start key and iterator type"
- We decided to move some requested on review changes to the backlog. Please make sure all appropriated tickets submitted.
- JSON-path index error Json-path index as primary key doesn't work #59
- Unclear options Unclear options #60
- Convert TAP-style tests to luatest-style test Rewrite tests from tap to luatest #61
- We need to enable new tests as soon as you added them. So put luatest related changes to commit
where first test is appeared (it is "Iterate over any index"). - Changes are not atomic now. I see commits with new functionality without any documentation in a README.
If we don't need to document these changes then please explain why. - Why do you mix double quotes and single quotes in a whole patchset?
- Latest commit should contain a "Closes RFC: Adding Iterations over Secondary Indexes #50", otherwise it is not clear finished task or not.
9822de0
to
914af20
Compare
|
Remove expirationd_kill_task, duplicate of code. Comments, readme and responses to errors are presented in a more uniform form. Added additional comments for easier understanding of what is happening. Delete `...`, can't be jitted. Using outer double quotes only. Needed for: #50
The vinyl and memtx tree index have the same iteration logic using pairs. This is confirmed by the stability of iterators, see tarantool/doc#2102 Needed for: #50
Added the ability to iterate over any index by specifying the index name in options. The default is primary index. ci: installation, caching and running luatest PHONY added to Makefile as makefile target and luatests folder are the same. Needed for: #50
Added the ability from where to start the iterator and the type of the iterator itself. Start key can be set as a function (dynamic parameter) or just a static value. The type of the iterator can be specified either with the box.index.* constant, or with the name for example, 'EQ' or box.index.EQ Needed for: #50
For more flexible functionality, added the ability to create a custom iterator that will be created at the selected index (iterate_with). You can also pass a predicate that will stop the fullscan process, if required(process_while). Needed for: #50
One transaction per batch option. With task:kill, the batch with transactions will be finalized and only after that the fiber will complete its work Needed for: #50
Added an example of how to use the new features for the user. Description of how to run luatests. Run luatest via Makefile with tap tests Closes: #50
iterate_with
function which returns an iterator object which provides tuples to checkAdditional changes:
Rewritten space iteration for tree index from select to pairs since the iterator is now stable
Added some comments and removed duplicate code(expirationd_kill_task)
Described new parameters in the code
Test coverage added.
RFC: #50