Ejemplo n.º 1
0
        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");
            }
        }
Ejemplo n.º 2
0
        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");

            }
        }