Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Fix BTS-2182 filters not pushed in Traversal node#21868

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
jbajic wants to merge4 commits intodevel
base:devel
Choose a base branch
Loading
frombug-fix/bts-2182

Conversation

jbajic
Copy link
Contributor

@jbajicjbajic commentedJul 17, 2025
edited
Loading

Scope & Purpose

Filter nodes are not being properly handled when!= operator is present when it is coming before TraversalNode. e.g. for the query:

FOR v, e IN 1 OUTBOUND 'col1/node_0' Graph myGraphOPTIONS {edgeCollections:['ec1'], vertexCollections:['col1']}FILTER e.type == 'ec1'FILTER (v['value'] > 1000) AND v.value2 != trueRETURN 1

The generated plan was:

 Id   NodeType          Site  Par   Est.   Comment  1   SingletonNode     COOR           1   * ROOT  2   TraversalNode     COOR           7     - FOR v  /* vertex (projections: `value2`, `value`) */, e  /* edge (projections: `_from`, `_id`, `_to`, `type`) */ IN 1..1  /* min..maxPathDepth */ OUTBOUND 'col1/node_0' /* startnode */  GRAPH 'myGraph' /* order: dfs */ 10   CalculationNode   COOR           7       - LET #4 = (v.`value2` != true)   /* simple expression */  6   FilterNode        COOR           7       - FILTER #4Traversals on graphs: Id  Depth  Vertex collections  Edge collections  Options                                              Filter / Prune Conditions 2   1..1   col1                ec1               uniqueVertices: none, uniqueEdges: path, order: dfs  FILTER ((e.`type` == "ec1") && (v.`value2` != true) && (v.`value` > 1000))

And now should be:

 Id   NodeType          Site  Par   Est.   Comment  1   SingletonNode     COOR           1   * ROOT  2   TraversalNode     COOR           7     - FOR v  /* vertex (projections: `value2`, `value`) */, e  /* edge (projections: `_from`, `_id`, `_to`, `type`) */ IN 1..1  /* min..maxPathDepth */ OUTBOUND 'col1/node_0' /* startnode */  GRAPH 'myGraph' /* order: dfs */Traversals on graphs: Id  Depth  Vertex collections  Edge collections  Options                                              Filter / Prune Conditions 2   1..1   col1                ec1               uniqueVertices: none, uniqueEdges: path, order: dfs  FILTER ((e.`type` == "ec1") && (v.`value2` != true) && (v.`value` > 1000))
  • 💩 Bugfix
  • 🍕 New feature
  • 🔥 Performance improvement
  • 🔨 Refactoring/simplification

Checklist

  • Tests
    • Regression tests
    • C++Unit tests
    • integration tests
    • resilience tests
  • 📖 CHANGELOG entry made
  • 📚 documentation written (release notes, API changes, ...)
  • Backports
    • Backport for 3.12.0:(Please link PR)
    • Backport for 3.11:(Please link PR)
    • Backport for 3.10:(Please link PR)

Related Information

(Please reference tickets / specification / other PRs etc)

@jbajicjbajic self-assigned thisJul 17, 2025
@jbajicjbajic marked this pull request as ready for reviewJuly 18, 2025 08:43
@jbajicjbajic changed the titleFix BTS-2182Fix BTS-2182 filters not pushed in Traversal nodeJul 18, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees

@jbajicjbajic

Labels
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@jbajic

[8]ページ先頭

©2009-2025 Movatter.jp