-
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
add tagFilter for traverse #5137
Conversation
@@ -1641,6 +1641,14 @@ class Traverse final : public GetNeighbors { | |||
firstStepFilter_ = filter; | |||
} | |||
|
|||
Expression* tagFilter() const { |
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.
What's the difference from vertex filter
?
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.
same, but the vertexfilter will not be pushed down to the storage layer, tagFilter will
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.
And vertex filter will be moved to firstStepFilter in the optimizer
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.
Too much filter is really confusion.
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.
vertexFilter and edgeFilter are in the graph layer. Under some conditions, they cannot be pushed to the storage layer, so they continue to filter at the graph layer. firstStepFilter is the first step version of the filter, which is pushed down to the storage layer, but they cannot filter vertex. So tagFilter is added, if the vertex's attribute does not satisfy tagFilter, it will be filtered out directly in the storage layer
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.
We really should not design such a large-grained plan node in the future.
587f1eb
to
274a3fe
Compare
274a3fe
to
2379dec
Compare
2379dec
to
6343715
Compare
What type of PR is this?
What problem(s) does this PR solve?
Issue(s) number:
close https://github.com/vesoft-inc/nebula-ent/issues/1668
close https://github.com/vesoft-inc/nebula-ent/issues/2022
Description:
How do you solve it?
Special notes for your reviewer, ex. impact of this fix, design document, etc:
Checklist:
Tests:
Affects:
Release notes:
Please confirm whether to be reflected in release notes and how to describe: