Keep trees empty on merge

Done't blow out a tree unnecessarily on merge
This commit is contained in:
Martin Sumner 2017-09-29 15:28:17 +01:00
parent 5e6534fb49
commit fd4fbf7ea8

View file

@ -278,7 +278,14 @@ merge_trees(TreeA, TreeB) ->
fun(SQN, MergeL2) ->
L2A = get_level2(TreeA, 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)
end,
NewLevel2 = lists:foldl(MergeFun,