-
-
Notifications
You must be signed in to change notification settings - Fork 244
Improve code of class BePlusTree #8433
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
Conversation
Make code friendly for debugging.
…Count -> LEAF_COUNT, NODE_COUNT)
Access to a member of unions that wasn't recently assigned is UB in C++. For reliability it would be better to remove |
…ete instead of allocate/deallocate. Removed excess "friend class" declarations. NodePtr changed to avoid potential undefined behavior.
removed Allocator from template arguments, removed pointer based ctor in favor of reference based one.
Should it be backported and, if yes, into which branches ? |
Usually, we don't backport refactoring commits. If you think it's really needed, I may agree with backporting into v5 only. |
The main goal of this PR is not the refactoring. It is about debugging experience, which was close to impossible. |
I agree with Vlad - old artifacts, invented by skidder to support use of a tree in memory manager, cause a lot of problems with debugging. I see no problems backporting this as deep as possible - even to v.3. |
OK, I don't mind (except maybe v3 which is nearly end-of-life). I just suppose that the need of debugging there may be over-estimated, given the last bugfix in this class was about 20 years ago. And even if we have something fixed in master/v5, it can be easily backported "as is". |
Let me clarify - it is not about debugging |
@hvlad +1 |
Maked it usabe with debugger, removed a lot of casts and a few other misc improvemens.