-
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
Bidirectional traverse. #1740
Bidirectional traverse. #1740
Conversation
@@ -442,10 +453,13 @@ void GoExecutor::stepOut() { | |||
} | |||
auto returns = status.value(); | |||
std::string filterPushdown = ""; | |||
if (FLAGS_filter_pushdown && isFinalStep() && !isReversely()) { | |||
if (FLAGS_filter_pushdown && isFinalStep() | |||
&& direction_ == OverClause::Direction::kForward) { |
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.
Currently, filter could be pushed down for all directions traversal
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.
There is a new pr #1785 to do this, based on this pr.
2153cfa
to
c23a655
Compare
c23a655
to
8ab536c
Compare
return 0L; | ||
} | ||
} | ||
return isReversely() ? srcId : dstId; | ||
return dstId; |
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.
@whitewum Please note the changes here.
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.
can anybody tell me:
E.g.1
,
Match (n)-[xx]->(m)
Return id(m)
is
GO FROM n OVER xx YIELD xx._dst
E.g.2
Match (m)<-[xx]-(n)
Return id(n)
is it
GO FROM m REVERSELY OVER xx YIELD xx._dst or xx._src
E.g.3
Match (n)-[xx]-(m)
Return id(m)
is it
GO FROM n BIDIRECT OVER xx YIELD xx._dst
I'm confused several times, and can't get it anymore.
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.
e.g.2
GO FROM m REVERSELY OVER xx YIELD xx._dst
e.g.3
GO FROM n BIDIRECT OVER xx YIELD xx._dst
You can think the "_src" represents myself, "_dst" means the other point.
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. LGTM now.
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
* Support bidirectional traverse. * Add basic bidirectional traverse test. * Fix ut. * Add ut for multi edge traverse. * Fix clang compile error. * Address comment. * Adddress @dangleptr's comment. * Address comment. Co-authored-by: laura-ding <[email protected]>
* Support bidirectional traverse. * Add basic bidirectional traverse test. * Fix ut. * Add ut for multi edge traverse. * Fix clang compile error. * Address comment. * Adddress @dangleptr's comment. * Address comment. Co-authored-by: laura-ding <[email protected]>
Close #1570 #1600 #1609 #1358
I will close #1694, if this is an accepted solution.