Skip to content
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

Merged
merged 3 commits into from
Nov 9, 2023

Conversation

icewind1991
Copy link
Contributor

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 extend ICollection so Tree can implement the interface without further changes, having Tree 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 extend ICollection and make Tree implement it if we ever make a collection.
  • INodeByPath::getNodeForPath can return null, 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

@codecov-io
Copy link

codecov-io commented May 25, 2018

Codecov Report

Merging #1060 (5e707d2) into master (3d64b70) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            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           
Files Coverage Δ
lib/DAV/Tree.php 100.00% <100.00%> (ø)

📣 Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!

@staabm
Copy link
Member

staabm commented May 25, 2018

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

Copy link
Member

@DeepDiver1975 DeepDiver1975 left a 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

@skjnldsv
Copy link

Bump?

@staabm staabm requested a review from evert March 13, 2019 09:25
@evert
Copy link
Member

evert commented Feb 18, 2022

I'm 4 years late but I do think this is a good idea :S

@evert evert removed their request for review July 25, 2022 00:30
@DeepDiver1975
Copy link
Member

@icewind1991 it has been a while ... 🙈 .... wana revive this with a rebase? THX

@DeepDiver1975
Copy link
Member

THX @icewind1991

@DeepDiver1975
Copy link
Member

Test are failing due to a change in the pgsql schema .....

@DeepDiver1975
Copy link
Member

Test are failing due to a change in the pgsql schema .....

fixed by #1509

@icewind1991 icewind1991 force-pushed the node-by-path-interface branch 2 times, most recently from 118da1f to b1d4778 Compare November 9, 2023 15:42
@DeepDiver1975 DeepDiver1975 merged commit e89be2c into sabre-io:master Nov 9, 2023
11 checks passed
@icewind1991 icewind1991 deleted the node-by-path-interface branch November 9, 2023 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants