public void Transaction_Begin_Commit_Insert_Test() { // create cs, cl string csName = "testfoo"; string cName = "testbar"; if (sdb.IsCollectionSpaceExist(csName)) { sdb.DropCollectionSpace(csName); } sdb.CreateCollectionSpace(csName); CollectionSpace cs = sdb.GetCollecitonSpace(csName); DBCollection cl = cs.CreateCollection(cName); // transction begin sdb.TransactionBegin(); // insert record BsonDocument insertor1 = new BsonDocument(); insertor1.Add("name", "tom"); insertor1.Add("age", 25); insertor1.Add("addr", "guangzhou"); BsonDocument insertor2 = new BsonDocument(); insertor2.Add("name", "sam"); insertor2.Add("age", 27); insertor2.Add("addr", "shanghai"); cl.Insert(insertor1); cl.Insert(insertor2); // commit sdb.TransactionCommit(); // check up DBCursor cursor = cl.Query(); Assert.IsNotNull(cursor); int count = 0; while (cursor.Next() != null) { ++count; BsonDocument bson = cursor.Current(); Assert.IsNotNull(bson); } Assert.IsTrue(count == 2); //sdb.TransactionRollback(); }
public void GetSnapshotTest() { Sequoiadb sdb2 = new Sequoiadb(config.conf.Coord.Address); sdb2.Connect(); BsonDocument dummy = new BsonDocument(); DBCursor cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_CONTEXTS, dummy, dummy, dummy); Assert.IsNotNull(cursor); BsonDocument bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_CONTEXTS_CURRENT, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_SESSIONS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_SESSIONS_CURRENT, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_COLLECTIONS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_COLLECTIONSPACES, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_DATABASE, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_SYSTEM, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); if (Constants.isClusterEnv(sdb)) { cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_CATALOG, dummy, dummy, dummy); Assert.IsNotNull(cursor); BsonDocument obj = cursor.Next(); Assert.IsNotNull(obj); } sdb2.Disconnect(); // snapshot transation sdb.TransactionBegin(); try { BsonDocument o = null; coll.Insert(new BsonDocument()); cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_TRANSACTIONS, dummy, dummy, dummy); Console.WriteLine("the result of SDB_SNAP_TRANSACTIONS is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_TRANSACTIONS_CURRENT, dummy, dummy, dummy); Console.WriteLine("the result of SDB_SNAP_TRANSACTIONS_CURRENT is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } } catch (BaseException e) { Console.WriteLine("The error info is: " + e.ErrorType + ", " + e.ErrorCode + ", " + e.Message); Assert.IsTrue(e.ErrorType == "SDB_DPS_TRANS_DIABLED"); } finally { sdb.TransactionCommit(); } // snapshot accessplans { BsonDocument o = null; cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_ACCESSPLANS, dummy, dummy, dummy); Console.WriteLine("the result of SDB_SNAP_TRANSACTIONS is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } } // node health { cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_HEALTH, dummy, dummy, dummy); Console.WriteLine("the result of SDB_SNAP_HEALTH is: "); BsonDocument rec = null; while (null != (rec = cursor.Next())) { Console.WriteLine(rec); } } }
public void GetSnapshotTest() { Sequoiadb sdb2 = new Sequoiadb(config.conf.Coord.Address); sdb2.Connect(); BsonDocument dummy = new BsonDocument(); DBCursor cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_CONTEXTS, dummy, dummy, dummy); Assert.IsNotNull(cursor); BsonDocument bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_CONTEXTS_CURRENT, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_SESSIONS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_SESSIONS_CURRENT, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_COLLECTIONS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_COLLECTIONSPACES, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_DATABASE, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); cursor = sdb2.GetSnapshot(SDBConst.SDB_SNAP_SYSTEM, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); if (Constants.isClusterEnv(sdb)) { cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_CATALOG, dummy, dummy, dummy); Assert.IsNotNull(cursor); BsonDocument obj = cursor.Next(); Assert.IsNotNull(obj); } sdb2.Disconnect(); // snapshot transation sdb.TransactionBegin(); try { BsonDocument o = null; coll.Insert(new BsonDocument()); cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_TRANSACTIONS, dummy, dummy, dummy); Console.WriteLine("the result of SDB_SNAP_TRANSACTIONS is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } cursor = sdb.GetSnapshot(SDBConst.SDB_SNAP_TRANSACTIONS_CURRENT, dummy, dummy, dummy); Console.WriteLine("the result of SDB_SNAP_TRANSACTIONS_CURRENT is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } } finally { sdb.TransactionCommit(); } }