We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Currently this query can not evaluated effectively
MATCH (p:Person) WHERE id(p) in {ids} RETURN p.name
Where {ids} is a collection of ids
Seems to small addition of GroupStepFilter might improve this case
GroupStepFilter
Index: translation/src/main/scala/org/opencypher/gremlin/translation/ir/rewrite/GroupStepFilters.scala IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- translation/src/main/scala/org/opencypher/gremlin/translation/ir/rewrite/GroupStepFilters.scala (revision 13a6ea11c13e448524afd03db288fefce875eb3d) +++ translation/src/main/scala/org/opencypher/gremlin/translation/ir/rewrite/GroupStepFilters.scala (date 1572989235672) @@ -99,6 +99,9 @@ case ChooseT3(Seq(Constant(value)), _, _) :: Is(_) :: As(_) :: SelectK(stepLabel) :: ChooseP2(_, Seq(Id)) :: Is(_) :: WhereP( _: Eq) :: Nil => (stepLabel, HasP(T.id.getAccessor, Eq(value))) :: Nil + case ChooseT3(Seq(Constant(value)), _, _) :: Is(_) :: As(_) :: SelectK(stepLabel) :: ChooseP2(_, Seq(Id)) :: Is(_) :: WhereP( + _: Within) :: Nil => + (stepLabel, HasP(T.id.getAccessor, Within(value))) :: Nil case SelectK(stepLabel) :: rest if rest.forall(_.isInstanceOf[HasLabel]) => rest.map((stepLabel, _)) case _ => @@ -115,6 +118,9 @@ None case ChooseT3(Seq(Constant(_)), _, _) :: Is(_) :: As(_) :: SelectK(alias) :: ChooseP2(_, Seq(Id)) :: Is(_) :: WhereP( _: Eq) :: Nil if aliases.contains(alias) => + None + case ChooseT3(Seq(Constant(_)), _, _) :: Is(_) :: As(_) :: SelectK(alias) :: ChooseP2(_, Seq(Id)) :: Is(_) :: WhereP( + _: Within) :: Nil if aliases.contains(alias) => None case SelectK(alias) :: rest if aliases.contains(alias) && rest.forall(_.isInstanceOf[HasLabel]) => None
The text was updated successfully, but these errors were encountered:
Optimization: GroupStepFilter to handle within
within
494efce
- resolves opencypher#329 Signed-off-by: Dwitry dwitry@users.noreply.github.com
Hello @mad,
thank you for contribution. Good improvement, I will merge this in #331.
Sorry, something went wrong.
Optimization: GroupStepFilter to handle within (#331)
4b70694
- resolves #329 Signed-off-by: Dwitry dwitry@users.noreply.github.com
Successfully merging a pull request may close this issue.
Currently this query can not evaluated effectively
Where {ids} is a collection of ids
Seems to small addition of
GroupStepFilter
might improve this caseThe text was updated successfully, but these errors were encountered: