-
Notifications
You must be signed in to change notification settings - Fork 348
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
Add INodeByPath interface to allow optimizing getNodeForPath #1060
Add INodeByPath interface to allow optimizing getNodeForPath #1060
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1060 +/- ##
=========================================
Coverage 97.32% 97.32%
- Complexity 2830 2833 +3
=========================================
Files 175 175
Lines 9419 9425 +6
=========================================
+ Hits 9167 9173 +6
Misses 252 252
📣 Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today! |
I like the general idea. I dont know enough about this code parts, so dont expect I will merge it. Hopefully @evert or somebody else will have enough time to get this merged/reviewed |
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.
- implementation looks good 👍
- tests look good 👍
- we need to add this to the changelog
Bump? |
I'm 4 years late but I do think this is a good idea :S |
@icewind1991 it has been a while ... 🙈 .... wana revive this with a rebase? THX |
111f2b3
to
7b20544
Compare
THX @icewind1991 |
Test are failing due to a change in the pgsql schema ..... |
fixed by #1509 |
4dfc955
to
ec160ce
Compare
118da1f
to
b1d4778
Compare
b1d4778
to
5e707d2
Compare
As discussed in #1059, doing this in a separate PR so the other can stay open for the "nested tree" discussion.
A few points of detail
INodeByPath
does not extendICollection
soTree
can implement the interface without further changes, havingTree
implement this does not really provide any benefit atm though and was mostly done to support future tree nesting. It might be better to change it to extendICollection
and makeTree
implement it if we ever make a collection.INodeByPath::getNodeForPath
can returnnull
, I fear that requiring any collection implementing the interface to be able to retrieve all nodes within it's path would prevent the ability to cleanly allow nesting collections that implement the interface