internal IBTreeRootNode MakeWrittableTransaction(InMemoryKeyValueDBTransaction keyValueDBTransaction, IBTreeRootNode btreeRoot) { lock (_writeLock) { if (_writingTransaction != null) throw new BTDBTransactionRetryException("Another writting transaction already running"); if (LastCommited != btreeRoot) throw new BTDBTransactionRetryException("Another writting transaction already finished"); _writingTransaction = keyValueDBTransaction; return btreeRoot.NewTransactionRoot(); } }
internal IBTreeRootNode MakeWrittableTransaction(InMemoryKeyValueDBTransaction keyValueDBTransaction, IBTreeRootNode btreeRoot) { lock (_writeLock) { if (_writingTransaction != null) { throw new BTDBTransactionRetryException("Another writting transaction already running"); } if (LastCommited != btreeRoot) { throw new BTDBTransactionRetryException("Another writting transaction already finished"); } _writingTransaction = keyValueDBTransaction; return(btreeRoot.NewTransactionRoot()); } }