public void TryReadFutureDocument() { int transactionId = m_db.StartTransaction(); DocumentId id1 = new DocumentId("1"); // this object is stored out of transaction therefore should be visible for the transaction m_db.Update(id1, new byte[1] { 0 }); byte[] blob = m_db.TransactionGet(transactionId, id1); Assert.IsNull(blob); m_db.CommitTransaction(transactionId); }
private void TransactionGet() { byte[] transactionIdBytes = m_serverSocket.Receive(); int transactionId = BitConverter.ToInt32(transactionIdBytes, 0); byte[] documentIdBytes = m_serverSocket.Receive(); DocumentId documentId = new DocumentId(documentIdBytes); try { byte [] blob = m_db.TransactionGet(transactionId, documentId); if (blob == null) { blob = new byte[0]; } m_serverSocket.SendMore(Protocol.Success).Send(blob); } catch (TransactionNotExistException ex) { m_serverSocket.SendMore(Protocol.Failed).Send("Transaction doesn't exist"); } }