Keep trees empty on merge
Done't blow out a tree unnecessarily on merge
This commit is contained in:
parent
5e6534fb49
commit
fd4fbf7ea8
1 changed files with 8 additions and 1 deletions
|
@ -278,7 +278,14 @@ merge_trees(TreeA, TreeB) ->
|
||||||
fun(SQN, MergeL2) ->
|
fun(SQN, MergeL2) ->
|
||||||
L2A = get_level2(TreeA, SQN),
|
L2A = get_level2(TreeA, SQN),
|
||||||
L2B = get_level2(TreeB, SQN),
|
L2B = get_level2(TreeB, SQN),
|
||||||
NewLevel2 = merge_binaries(L2A, L2B),
|
BothEmpty = (L2A == ?EMPTY) and (L2B == ?EMPTY),
|
||||||
|
NewLevel2 =
|
||||||
|
case BothEmpty of
|
||||||
|
true ->
|
||||||
|
?EMPTY;
|
||||||
|
false ->
|
||||||
|
merge_binaries(L2A, L2B)
|
||||||
|
end,
|
||||||
array:set(SQN, NewLevel2, MergeL2)
|
array:set(SQN, NewLevel2, MergeL2)
|
||||||
end,
|
end,
|
||||||
NewLevel2 = lists:foldl(MergeFun,
|
NewLevel2 = lists:foldl(MergeFun,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue