public void TestSnapshot() { var path = CleanTestDB(); using (var db = new LDB(path, new Options { CreateIfMissing = true })) { db.Set("Tampa", "green"); db.Set("London", "red"); db.Remove("New York"); using (var snapShot = db.CreateSnapshot()) { var readOptions = new ReadOptions { Snapshot = snapShot }; db.Set("New York", "blue"); Assert.Equal((string)db.Get("Tampa", readOptions), "green"); Assert.Equal((string)db.Get("London", readOptions), "red"); // Snapshot taken before key was updates Assert.Null(db.Get("New York", readOptions)); } // can see the change now Assert.Equal((string)db.Get("New York"), "blue"); } }
public void TestSnapshot() { var path = CleanTestDB(); using(var db = new LDB(path, new Options { CreateIfMissing = true })) { db.Set("Tampa", "green"); db.Set("London", "red"); db.Remove("New York"); using(var snapShot = db.CreateSnapshot()) { var readOptions = new ReadOptions { Snapshot = snapShot }; db.Set("New York", "blue"); Assert.Equal((string)db.Get("Tampa", readOptions), "green"); Assert.Equal((string)db.Get("London", readOptions), "red"); // Snapshot taken before key was updates Assert.Null(db.Get("New York", readOptions)); } // can see the change now Assert.Equal((string)db.Get("New York"), "blue"); } }