lnKey = lnEntry.getKey();
lnKeyEntry.setData(lnKey);
}
/* Get the Node from the LogEntry. */
Node ret = (Node) entry.getResolvedItem(dbImpl);
/*
* For an IN Node, set the database so it will be passed down to
* nested fetches.
*/
long lastLoggedLsn = lsn;
if (ret instanceof IN) {
IN retIn = (IN) ret;
retIn.setDatabase(dbImpl);
}
/*
* If there is a delta, then this is a BIN to which the delta must
* be applied. The delta LSN is the last logged LSN.
*/
BINDelta delta = inEntry.getDelta();
if (delta != null) {
assert lsn == delta.getLastFullLsn();
assert ret instanceof BIN;
delta.reconstituteBIN(dbImpl, (BIN) ret);
lastLoggedLsn = inEntry.getDeltaLsn();
}
/* During a preload, finally place the Node into the Tree. */
if (fetchAndInsertIntoTree()) {
ret.postFetchInit(dbImpl, lastLoggedLsn);
in.updateNode(index, ret, lnKey);
}
return ret;
} finally {
if (!isLatchedAlready) {