Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support concurrent insertion and splitting in Tree (#709)
Unlike text, which is split based on value, the number of nodes that can be created by splitting an element is not determined, so it was not possible to use ID by only changing the offset of the original NodeID. To solve this problem, a new TimeTicket is issued during Element Split to create a NodeID, but because of this, it was not possible to guarantee that the real parent of TreePos.Left was TreePos.Parent. TreePos.Parent is only used to represent the leftmost position by setting the values of TreePos.Left and TreePos.Parent to be the same. This commit uses TreePos.Parent only to determine whether the pos is left-most and to directly use the parent of the actual node.
- Loading branch information