return newRoot;
}
public void store(Key[] keys, boolean[] canNotBeNulls, Object value, short mode, KernelContext kContext) throws ChaiDBException {
if (DbEnvironment.READ_ONLY) throw new ChaiDBException(ErrorCode.DATABASE_IS_READONLY);
kContext.checkLock(getBTreeName());
checkKeyPath(keys, canNotBeNulls);
boolean succ = false;
this.getBTreeSpec().setModified(true);
byte[] data;
try {
if (converter != null) data = converter.encodeToByteArray(value);
else data = (byte[]) value;
} catch (EncodingException ee) {
logger.error(ee);
// details -ranjeet
String details = "Converter failed in encoding " + ee.toString() + ".";
throw new ChaiDBException(ErrorCode.CONVERTER_ENCODING_ERROR, details);
}
for (int retry = 0; retry < BTreeLock.MAX_RETRYS + 1 && !succ; retry++) {
try {