From fb75a26497854d4a75c0c76d27f887aede344ca7 Mon Sep 17 00:00:00 2001 From: martinsumner Date: Thu, 29 Dec 2016 10:46:12 +0000 Subject: [PATCH] Handle mismatch on expanding pointer Remove the nasty legacy of hard-coding for a scan width of 1 --- src/leveled_sst.erl | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/leveled_sst.erl b/src/leveled_sst.erl index bcdfa6c..7078064 100644 --- a/src/leveled_sst.erl +++ b/src/leveled_sst.erl @@ -911,11 +911,7 @@ maybe_expand_pointer(List) -> List. -expand_list_by_pointer({pointer, SSTPid, Slot, StartKey, EndKey}, Tail, 1) -> - AccPointers = [{pointer, Slot, StartKey, EndKey}], - ExpPointers = leveled_sst:sst_getslots(SSTPid, AccPointers), - lists:append(ExpPointers, Tail); -expand_list_by_pointer({pointer, SSTPid, Slot, StartKey, all}, Tail, Width) -> +expand_list_by_pointer({pointer, SSTPid, Slot, StartKey, EndKey}, Tail, Width) -> FoldFun = fun(X, {Pointers, Remainder}) -> case length(Pointers) of @@ -930,7 +926,7 @@ expand_list_by_pointer({pointer, SSTPid, Slot, StartKey, all}, Tail, Width) -> {Pointers, Remainder ++ [X]} end end, - InitAcc = {[{pointer, Slot, StartKey, all}], []}, + InitAcc = {[{pointer, Slot, StartKey, EndKey}], []}, {AccPointers, AccTail} = lists:foldl(FoldFun, InitAcc, Tail), ExpPointers = leveled_sst:sst_getslots(SSTPid, AccPointers), lists:append(ExpPointers, AccTail);