-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Refactor storage index #3196
Refactor storage index #3196
Conversation
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.
Generally LGTM
src/storage/ExprVisitorBase.cpp
Outdated
/* Copyright (c) 2021 vesoft inc. All rights reserved. | ||
* | ||
* This source code is licensed under Apache 2.0 License, | ||
* attached with Common Clause Condition 1.0, found in the LICENSES directory. |
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.
will this be removed ?
LGTM |
I'm ok with this PR |
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.
Well done, great work
Codecov Report
@@ Coverage Diff @@
## master #3196 +/- ##
==========================================
+ Coverage 85.24% 85.32% +0.08%
==========================================
Files 1295 1304 +9
Lines 118190 119900 +1710
==========================================
+ Hits 100748 102306 +1558
- Misses 17442 17594 +152
Continue to review full report at Codecov.
|
LGTM |
* stash * commit IndexEdge/VertexScanNode * commit IndexSelectionNode * commit Projection/Dedup Node * commit IndexLimitNode * stash * stash * stash * stash * add index int test * add double/string1 test * add string2/string3 test * finish index_scan_node unittest * add index node test * pass lookupindex test * pass ttl test * pass all unittest * remove debug log * fix bug * fix bug * fix bug * clear file * clear some useless code * add comments for IndexNode * add comments to IndexScanNode * ad comment to Selection/Projection/DedupNode * fix some init bug * fix bug to support geo * converge qualified strategy define together * address comments * address some comments; Modify IndexNode::next return Type * fix bug * add some comments * Add blank lines between function definitions * fix compile error * modify new file license * Modify test to avoid the bug mentioned in issue3191 * modify license error Co-authored-by: hs.zhang <[email protected]>
What type of PR is this?
Which issue(s) this PR fixes:
Is part of issue 2745
What this PR does / why we need it?
In this PR, the index execution plan in storage is completely rewritten. In the original Index execution plan, querying index data and querying base data are completely separated, and the kv pairs of base data or kv pairs of index data are passed between the nodes of the execution plan, which leads to serious coupling between nodes , And can not deal with the problem of String type index being truncated.
This PR logically mainly contains the following modifications
Special notes for your reviewer, ex. impact of this fix, etc:
This is a PR that has not yet been fully completed, and some comments need to be added, as well as the processing of some corner cases, and the supplement of unittest.
Just look at the overall execution logic.
Additional context:
Checklist:
Release notes:
Please confirm whether to reflect in release notes and how to describe: