collectiveidea / awesome_nested_set

An awesome replacement for acts_as_nested_set and better_nested_set.
MIT License
2.39k stars 492 forks source link

Validate lft and rgt should be less then max sequence #473

Closed sampatbadhe closed 6 months ago

sampatbadhe commented 1 year ago

Validate lft and rgt should be less then max sequence which is (number of records * 2)

i.e.

category1 = { parent_id: nil, lft: 1, rgt: 2 }
category2 = { parent_id: nil, lft: 3, rgt: 4 }
category3 = { parent_id: nil, lft: 9, rgt: 10 }

In above case, Category.valid? returns true, but expecting to return false so that it can rebuild again to correct the sequence.

Please feel free to close this PR if my changes looks invalid, as I noticed the scenario which I mentioned was considered as valid case and covered in spec that way.

parndt commented 1 year ago

Interesting. What do you think @danielmorrison ? This was merged by you from #241

parndt commented 1 year ago

I'd still like to hear from @danielmorrison / @shekibobo if possible please 😄

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

parndt commented 8 months ago

@botandrose what do you think about this PR?

botandrose commented 8 months ago

@parndt Hmm, my first thought is curiosity about the motivation behind the PR. @sampatbadhe did you find yourself in a situation where lft and rgt were outside of the max sequence? How did this happen?

sampatbadhe commented 6 months ago

Thank you for checking @botandrose & @parndt

Upon reviewing the our database today, I didn't find any records where "lft" and "rgt" were outside the maximum sequence. However, there were some records earlier that had this issue, which I manually corrected a while ago. Closing this PR as its no longer an issue.