-
Notifications
You must be signed in to change notification settings - Fork 51
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
feat: Non-unique secondary index #1450
feat: Non-unique secondary index #1450
Conversation
Codecov ReportPatch coverage:
@@ Coverage Diff @@
## develop #1450 +/- ##
===========================================
+ Coverage 72.26% 73.42% +1.16%
===========================================
Files 185 187 +2
Lines 18478 19291 +813
===========================================
+ Hits 13353 14164 +811
+ Misses 4076 4075 -1
- Partials 1049 1052 +3
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 8 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
6e13d5a
to
5fae460
Compare
6710210
to
106f7e0
Compare
132dc53
to
53391ae
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.
Submitting a partial review for now, as I need a breather from it - it looks good in general, but I have have few low-scope todos so far
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.
Taking another break - added some more comments :)
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.
Overall I think you're on a good path. I've got a few comments to start. I haven't looked at the tests extensively yet but on first pass I like the mocks.
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.
Made it all the way through - looks good, but I think you really need to add some integration tests, and there are a few localised issues that need addressing.
19dff9e
to
35802a4
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.
Gave the integration tests a look over, will go over the prod code again once you re-quest review. Tests look great, thanks a bunch for adding them now, just left a couple of small comments.
Rely on CBOR's nil-value distinction instead of manual
Correctly implement Txn
f35622d
to
6e24502
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.
Really great work Islam, looks good to me :)
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.
Just a few more todos before I approve. I noted a few methods that should have documentation as they are exported. I think there are a few others in your PR that are exported without documentation. I'm flagging them as this is good for internal devs when looking at the code but also because it adds useful information with intelisense in IDEs.
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.
LGTM! Great work Islam!
Resolves sourcenetwork#297 ## Description This change introduces first functionality for secondary indexes which includes: - specifying index for a collection as part of the collection schema and parsing it - mocks for interfaces the index functionality depends on - db methods to create, delete and retrieve indexes - storing index data in the system storage - storing indexed fields' values to data storage - change to the testing framework to allow testing of indexes This change doesn't include using indexes for fetching data for queries to keep the PR smaller.
Relevant issue(s)
Resolves #297
Description
This PR introduces first functionality for secondary indexes which includes:
This PR doesn't include using indexes for fetching data for queries to keep the PR smaller.
Tasks
How has this been tested?
Unit tests
Specify the platform(s) on which this was tested: