gr: LoganBerry.Entry ¬ LoganBerry.ReadEntry[db: opsH.db, key: $Key, value: sH.gRootInfo].entry;
IF gr =
NIL
THEN {
init: LoganBerry.Entry ¬
LIST[
[$Key, sH.gRootInfo], [sH.gRootFileStamp, LoganBerryEntry.T2V[BasicTime.nullGMT]], [sH.gRootFileKey, NIL], [sH.gMailFor, NIL] ];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
init ¬
LIST[ [$Key, sH.gLogInfo],
[sH.gLogFileID, LoganBerryEntry.I2V[0]], [sH.gOpInProgressPos, LoganBerryEntry.I2V[0]], [sH.gFirstDestroyedMsgPos, LoganBerryEntry.I2V[0]], [sH.gBytesInDestroyedMsgs, LoganBerryEntry.I2V[0]],
[sH.gTimeOfLastScavenge, LoganBerryEntry.T2V[BasicTime.nullGMT]] ];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
init ¬ LIST[ [$Key, sH.gParseLogInfo], [sH.gParseLogInProgress, LoganBerryEntry.B2V[FALSE]], [sH.gParseLogPos, LoganBerryEntry.I2V[0]] ];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
init ¬
LIST[ [$Key, sH.gExpungeInfo],
[sH.gLogExpungePhase, LoganBerryEntry.I2V[0]], [sH.gExpungeFileID, LoganBerryEntry.I2V[0]], [sH.gCurrentLogPos, LoganBerryEntry.I2V[0]], [sH.gExpungeLogPos, LoganBerryEntry.I2V[0]],
[sH.gTimeOfLastExpunge, LoganBerryEntry.T2V[BasicTime.nullGMT]]
];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
init ¬
LIST[ [$Key, sH.gNewMailInfo],
[sH.gNewMailLogLength, LoganBerryEntry.I2V[0]], [sH.gCopyNewMailLogPos, LoganBerryEntry.I2V[0]], [sH.gAcceptNewMailLogPos, LoganBerryEntry.I2V[0]],
[sH.gAddingServerMsgs, LoganBerryEntry.B2V[FALSE]], [sH.gLastNewMailTimeStamp, LoganBerryEntry.T2V[BasicTime.nullGMT]]
];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
init ¬ LIST[ [$Key, sH.gReadArchiveInfo], [sH.gReadArchiveLogPos, LoganBerryEntry.I2V[0]], [sH.gCopyReadArchiveLogPos, LoganBerryEntry.I2V[0]] ];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
MsgCount: 0, MsgSetCount: 2, MsgSetsVersion: 1
init ¬ LIST[ [$Key, sH.gVersionInfo], [sH.gMsgCount, LoganBerryEntry.I2V[0]], [sH.gMsgSetCount, LoganBerryEntry.I2V[2]], [sH.gMsgSetsVersion, LoganBerryEntry.I2V[1]] ];
LoganBerry.WriteEntry[db: opsH.db, entry: init];
};