summaryrefslogtreecommitdiff
path: root/src/plop.erl
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2014-10-25 15:22:09 +0200
committerMagnus Ahltorp <map@kth.se>2014-10-25 15:32:07 +0200
commitd180def6cec2e5967a788c2b3161c191719b3fd0 (patch)
tree70c8bfe12e78a941c7fed119e930d6605d8221ba /src/plop.erl
parent6f477e27dcbb8ecf24947d473186e8984cf87867 (diff)
Optimize db:get_by_indices by not fetching entry and implementing index:getrangeoptimize-startup
Conflicts: src/index.erl src/plop.erl
Diffstat (limited to 'src/plop.erl')
-rw-r--r--src/plop.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plop.erl b/src/plop.erl
index 0b101be..5244144 100644
--- a/src/plop.erl
+++ b/src/plop.erl
@@ -131,12 +131,18 @@ get_logid() ->
gen_server:call(?MODULE, {get, logid}).
testing_get_pubkey() ->
gen_server:call(?MODULE, {test, pubkey}).
+
+fill_in_entry({_Index, LeafHash, notfetched}) ->
+ db:get_by_leaf_hash(LeafHash).
+
%%%%%%%%%%%%%%%%%%%%
handle_call(stop, _From, Plop) ->
{stop, normal, stopped, Plop};
handle_call({get, {index, Start, End}}, _From, Plop) ->
- {reply, db:get_by_indices(Start, End, {sorted, false}), Plop};
+ {reply, lists:map(fun (E) -> fill_in_entry(E) end,
+ db:get_by_indices(Start, End, {sorted, false})),
+ Plop};
handle_call({get, {hash, EntryHash}}, _From, Plop) ->
{reply, db:get_by_entry_hash(EntryHash), Plop};