Example #1
0
def _add_tree_root(cluster_name, node_path):
    """增加树形结构根节点,保持树形结构
    """
    root_node = ZdSnapshotTree(cluster_name=cluster_name,
                               node_path=node_path,
                               left=0,
                               right=1)
    root_node.save()
Example #2
0
def _add_tree_root(cluster_name, node_path):
    """增加树形结构根节点,保持树形结构
    """
    root_node = ZdSnapshotTree(
        cluster_name=cluster_name,
        node_path=node_path,
        left=0,
        right=1
    )
    root_node.save()
Example #3
0
def _add_tree_node(cluster_name, parent_node, node_path):
    """增加树形结构普通节点,需要保持树形结构
    """
    slot_left = parent_node.left
    # update left and right value
    update_left_query = ZdSnapshotTree.update(left=ZdSnapshotTree.left + 2).where(
        (ZdSnapshotTree.left > slot_left) & (ZdSnapshotTree.cluster_name == cluster_name)
    )
    update_right_query = ZdSnapshotTree.update(right=ZdSnapshotTree.right + 2).where(
        (ZdSnapshotTree.right > slot_left) & (ZdSnapshotTree.cluster_name == cluster_name)
    )
    update_left_query.execute()
    update_right_query.execute()
    # create new node
    child_node = ZdSnapshotTree(cluster_name=cluster_name, node_path=node_path, left=slot_left + 1, right=slot_left + 2)
    child_node.save()
Example #4
0
def _add_tree_node(cluster_name, parent_node, node_path):
    """增加树形结构普通节点,需要保持树形结构
    """
    slot_left = parent_node.left
    # update left and right value
    update_left_query = ZdSnapshotTree.update(
        left=ZdSnapshotTree.left +
        2).where((ZdSnapshotTree.left > slot_left)
                 & (ZdSnapshotTree.cluster_name == cluster_name))
    update_right_query = ZdSnapshotTree.update(
        right=ZdSnapshotTree.right +
        2).where((ZdSnapshotTree.right > slot_left)
                 & (ZdSnapshotTree.cluster_name == cluster_name))
    update_left_query.execute()
    update_right_query.execute()
    # create new node
    child_node = ZdSnapshotTree(cluster_name=cluster_name,
                                node_path=node_path,
                                left=slot_left + 1,
                                right=slot_left + 2)
    child_node.save()