本文整理汇总了Golang中github.com/cockroachdb/cockroach/roachpb.RangeTreeNode.RightKey方法的典型用法代码示例。如果您正苦于以下问题:Golang RangeTreeNode.RightKey方法的具体用法?Golang RangeTreeNode.RightKey怎么用?Golang RangeTreeNode.RightKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cockroachdb/cockroach/roachpb.RangeTreeNode
的用法示例。
在下文中一共展示了RangeTreeNode.RightKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: rotateLeft
// rotateLeft performs a left rotation around the node.
func (tc *treeContext) rotateLeft(node *roachpb.RangeTreeNode) (*roachpb.RangeTreeNode, *roachpb.Error) {
right, pErr := tc.getNode(node.RightKey)
if pErr != nil {
return nil, pErr
}
right, pErr = tc.replaceNode(node, right)
if pErr != nil {
return nil, pErr
}
node.RightKey = right.LeftKey
if right.LeftKey != nil {
rightLeft, pErr := tc.getNode(right.LeftKey)
if pErr != nil {
return nil, pErr
}
rightLeft.ParentKey = node.Key
tc.setNode(rightLeft)
}
right.LeftKey = node.Key
node.ParentKey = right.Key
tc.setNode(right)
tc.setNode(node)
return right, nil
}