public void ReadDocumentUpdatedByTransaction() { DocumentId id1 = new DocumentId("1"); m_db.Update(id1, new byte[1] { 0 }); int transactionId = m_db.StartTransaction(); m_db.TransactionUpdate(transactionId, id1, new byte[1] { 1 }); byte[] blob = m_db.TransactionGet(transactionId, id1); Assert.AreEqual(1, blob[0]); // reading without transaction should return uncommitted document blob = m_db.Get(id1); Assert.AreEqual(0, blob[0]); m_db.CommitTransaction(transactionId); // reading the object agian after the transaction committed making sure we are reading the new committed document blob = m_db.Get(id1); Assert.AreEqual(1, blob[0]); }
private void Get() { byte[] documentIdBytes = m_serverSocket.Receive(); DocumentId documentId = new DocumentId(documentIdBytes); byte[] blob = m_db.Get(documentId); if (blob == null) { blob = new byte[0]; } m_serverSocket.SendMore(Protocol.Success).Send(blob); }