-
Notifications
You must be signed in to change notification settings - Fork 852
AQL with path filters returns unexpected results #3597
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
Comments
Hi, thanks for reporting, managed to reproduce it locally, fix is under way. |
@mchacki, thanks for the heads up. |
@mchacki, do you guys have an idea of why this might be happening? And explain what kind of queries are affected by this bug? I see another issue, and I have a hunch it's somewhat related, but I don't want to create another issue yet. |
@vanobig There were actually two bugs:
|
Thank you @mchacki, from the way you explained this, it does sound like the issue we experience. |
Just finished testing, and yes, I do not see the issue any more. Confirm fixed. |
Thanks for the feedback! |
Uh oh!
There was an error while loading. Please reload this page.
my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:
Mode:
Storage-Engine:
On this operating system:
this is an AQL-related issue:
[x] I'm using graph features
I'm issuing AQL via:
I've run
db._explain("<my aql query>")
and it didn't shed more light on this.The AQL query in question is:
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed OPTIONS {uniqueVertices: "global", bfs: true} FILTER p.vertices[1]._key == "1055031914" AND length(p.vertices[2].parents) < 2 RETURN v._id
The issue can be reproduced using this dataset:
https://drive.google.com/open?id=1VIZFL3vcZTw5q2ur-FzZQNrAa1u1jYXx
These are the steps to reproduce:
Provided dataset has the following structure
company (vertex) -> company_teams (edge) -> team (vertex) -> team_contributors (edge) -> contributor (vertex) -> committed (edge) -> commit (vertex)
For the simplisity, each collection (vertex and edge) has only one record.
Run query #1
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed OPTIONS {uniqueVertices: "global", bfs: true} FILTER p.vertices[1]._key == "1055031914" RETURN v._id
and see that result has one commit ("commit/1571475"), exactly what I expect
Run query #2
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed OPTIONS {uniqueVertices: "global", bfs: true} FILTER length(p.vertices[2].parents) < 2 RETURN v._id
and see that result has one commit ("commit/1571475"), again, exactly what I expect
From the queries #1 and #2 I've tried 2 different filters and both returned the commit record.
I assume that 2 filters combined together should give me the same result.
Run query #3
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed OPTIONS {uniqueVertices: "global", bfs: true} FILTER p.vertices[1]._key == "1055031914" AND length(p.vertices[2].parents) < 2 RETURN v._id
and see that result is empty
The text was updated successfully, but these errors were encountered: