-
Notifications
You must be signed in to change notification settings - Fork 790
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
Introduce new marker interfaces to identify whether a step can perform write or delete or both on graph data and static map to capture steps associated with an operator #2025
Conversation
Codecov Report
@@ Coverage Diff @@
## 3.6-dev #2025 +/- ##
=============================================
+ Coverage 69.44% 69.54% +0.09%
- Complexity 9347 9351 +4
=============================================
Files 878 878
Lines 42103 42228 +125
Branches 5643 5643
=============================================
+ Hits 29239 29366 +127
+ Misses 10869 10868 -1
+ Partials 1995 1994 -1
... and 3 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Thanks for contributing this. It may also be nice to add a section to the upgrade documentation for providers to let them know about this new feature. VOTE +1 |
VOTE+1 |
Thanks @phanindhra876 for these changes. Overall they look good to me. My main question is if we've actually covered all the correct steps with these marker interfaces. By the look of it, this PR is just updating all of the steps which previously implemented the Mutating interface which in theory is sufficient. I wonder though if some consideration should be given into adding these markers to Also I wanted to ask if the |
Intention of test |
For the scope of this PR, i have updated steps extending Mutating to implement Writing or Deleting or both. However, |
|
I see, I had missed that the second test is asserting an empty list. Those tests look good to me. I agree with Stephen's analysis of |
Do you mind squashing your commits and force pushing? Our current policy is to have the author do this rather than the person merging. Thanks. |
This comment was marked as off-topic.
This comment was marked as off-topic.
…utating steps to extend new interfaces Capture possible steps populated by graph traversal for a graph operator PR: apache#2025
a56f8ad
to
55f9f6a
Compare
@kenhuuu Squashed all commits into one commit. |
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.
lgtm
VOTE +1. |
Currently all steps that can change graph data implements Mutating interface. However, there is no straight forward way to know whether the step can perform write or delete or both on the graph data. This PR introduces two new marker interfaces
Writing
andDeleting
defining whether step can perform write or delete or both.In addition to this, this PR creates a static map of Traversal steps that shall be added for a given operator. Both can be combined to assess whether a given query can perform read or write or delete or any combination of these before query execution.