Skip to content

Commit

Permalink
fix go mTOn filter bug (#3144)
Browse files Browse the repository at this point in the history
* fix go mTOn filter bug

* add test case
  • Loading branch information
nevermore3 authored and Sophie-Xie committed Oct 20, 2021
1 parent dc5d19a commit 324b839
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/graph/planner/ngql/GoPlanner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,7 @@ SubPlan GoPlanner::mToNStepsPlan(SubPlan& startVidPlan) {
}

const auto& projectInput =
(joinInput || joinDst) ? loopBody->outputVar() : sampleLimit->outputVar();
(loopBody != getDst) ? loopBody->outputVar() : sampleLimit->outputVar();
loopBody = Project::make(qctx, loopBody, goCtx_->yieldExpr);
loopBody->setInputVar(projectInput);
loopBody->setColNames(std::move(goCtx_->colNames));
Expand Down
39 changes: 39 additions & 0 deletions tests/tck/features/go/GO.IntVid.feature
Original file line number Diff line number Diff line change
Expand Up @@ -1434,6 +1434,45 @@ Feature: IntegerVid Go Sentence
| EMPTY | "Russell Westbrook" |
| EMPTY | "Luka Doncic" |
| EMPTY | "Russell Westbrook" |
When executing query:
"""
go 1 to 4 steps from hash("Tim Duncan") over like where like.likeness > 90 yield like.likeness, edge as e
"""
Then the result should be, in any order, with relax comparison:
| like.likeness | e |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
When executing query:
"""
go 1 to 4 steps from hash("Tim Duncan") over like yield like.likeness, edge as e
"""
Then the result should be, in any order, with relax comparison:
| like.likeness | e |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 90 | [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}] |
| 90 | [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 75 | [:like "LaMarcus Aldridge"->"Tim Duncan" @0 {likeness: 75}] |
| 75 | [:like "LaMarcus Aldridge"->"Tony Parker" @0 {likeness: 75}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 90 | [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}] |
| 90 | [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 90 | [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}] |

Scenario: Integer Vid error message
When executing query:
Expand Down
39 changes: 39 additions & 0 deletions tests/tck/features/go/GO.feature
Original file line number Diff line number Diff line change
Expand Up @@ -1490,6 +1490,45 @@ Feature: Go Sentence
| EMPTY | "Russell Westbrook" |
| EMPTY | "Luka Doncic" |
| EMPTY | "Russell Westbrook" |
When executing query:
"""
go 1 to 4 steps from "Tim Duncan" over like where like.likeness > 90 yield like.likeness, edge as e
"""
Then the result should be, in any order, with relax comparison:
| like.likeness | e |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
When executing query:
"""
go 1 to 4 steps from "Tim Duncan" over like yield like.likeness, edge as e
"""
Then the result should be, in any order, with relax comparison:
| like.likeness | e |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 90 | [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}] |
| 90 | [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 75 | [:like "LaMarcus Aldridge"->"Tim Duncan" @0 {likeness: 75}] |
| 75 | [:like "LaMarcus Aldridge"->"Tony Parker" @0 {likeness: 75}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 90 | [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}] |
| 90 | [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}] |
| 95 | [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}] |
| 95 | [:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}] |
| 90 | [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}] |

Scenario: error message
When executing query:
Expand Down

0 comments on commit 324b839

Please sign in to comment.