ManEntry must be a ManEntry?
What else could it be?
This commit is contained in:
parent
aba385869f
commit
44471ecc0a
1 changed files with 15 additions and 19 deletions
|
@ -537,25 +537,21 @@ open_all_manifest(Man0, RootPath, CDBOpts) ->
|
||||||
[{HeadSQN, HeadFN, _IgnorePid, HeadLK}|ManifestTail] = Man1,
|
[{HeadSQN, HeadFN, _IgnorePid, HeadLK}|ManifestTail] = Man1,
|
||||||
OpenJournalFun =
|
OpenJournalFun =
|
||||||
fun(ManEntry) ->
|
fun(ManEntry) ->
|
||||||
case ManEntry of
|
{LowSQN, FN, _, LK_RO} = ManEntry
|
||||||
{LowSQN, FN, _, LK_RO} ->
|
CFN = FN ++ "." ++ ?JOURNAL_FILEX,
|
||||||
CFN = FN ++ "." ++ ?JOURNAL_FILEX,
|
PFN = FN ++ "." ++ ?PENDING_FILEX,
|
||||||
PFN = FN ++ "." ++ ?PENDING_FILEX,
|
case filelib:is_file(CFN) of
|
||||||
case filelib:is_file(CFN) of
|
true ->
|
||||||
true ->
|
{ok, Pid} = leveled_cdb:cdb_reopen_reader(CFN,
|
||||||
{ok, Pid} = leveled_cdb:cdb_reopen_reader(CFN,
|
LK_RO),
|
||||||
LK_RO),
|
{LowSQN, FN, Pid, LK_RO};
|
||||||
{LowSQN, FN, Pid, LK_RO};
|
false ->
|
||||||
false ->
|
W = leveled_cdb:cdb_open_writer(PFN, CDBOpts),
|
||||||
W = leveled_cdb:cdb_open_writer(PFN, CDBOpts),
|
{ok, Pid} = W,
|
||||||
{ok, Pid} = W,
|
ok = leveled_cdb:cdb_roll(Pid),
|
||||||
ok = leveled_cdb:cdb_roll(Pid),
|
LK_WR = leveled_cdb:cdb_lastkey(Pid),
|
||||||
LK_WR = leveled_cdb:cdb_lastkey(Pid),
|
{LowSQN, FN, Pid, LK_WR}
|
||||||
{LowSQN, FN, Pid, LK_WR}
|
end
|
||||||
end;
|
|
||||||
_ ->
|
|
||||||
ManEntry
|
|
||||||
end
|
|
||||||
end,
|
end,
|
||||||
OpenedTailAsList = lists:map(OpenJournalFun, ManifestTail),
|
OpenedTailAsList = lists:map(OpenJournalFun, ManifestTail),
|
||||||
OpenedTail = leveled_imanifest:from_list(OpenedTailAsList),
|
OpenedTail = leveled_imanifest:from_list(OpenedTailAsList),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue