From 6f06c6fdeb3d71c5c7dde4bc24cc838f76683631 Mon Sep 17 00:00:00 2001 From: martinsumner Date: Sun, 11 Dec 2016 07:07:30 +0000 Subject: [PATCH] ETS delete Delete the objects rather than starting a new table each time --- src/leveled_penciller.erl | 2 +- src/leveled_pmem.erl | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index 58f575e..ce83252 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -467,12 +467,12 @@ handle_cast({levelzero_complete, FN, StartKey, EndKey, Bloom}, State) -> filename=FN}, UpdMan = lists:keystore(0, 1, State#state.manifest, {0, [ManEntry]}), % Prompt clerk to ask about work - do this for every L0 roll + leveled_pmem:clear_index(State#state.levelzero_index), ok = leveled_pclerk:clerk_prompt(State#state.clerk), {noreply, State#state{levelzero_cache=[], levelzero_pending=false, levelzero_constructor=undefined, levelzero_size=0, - levelzero_index=leveled_pmem:new_index(), manifest=UpdMan, persisted_sqn=State#state.ledger_sqn}}. diff --git a/src/leveled_pmem.erl b/src/leveled_pmem.erl index 9f81c01..8629fb3 100644 --- a/src/leveled_pmem.erl +++ b/src/leveled_pmem.erl @@ -88,6 +88,9 @@ add_to_index(LevelMinus1, L0Index) -> new_index() -> ets:new(l0index, [private, set]). +clear_index(L0Index) -> + ets:delete_all_objects(L0Index). + check_index(Hash, L0Index) -> case ets:lookup(L0Index, Hash) of [{Hash}] ->