public virtual void Test2() { DeleteBase("t2.ndb"); var odb = Open("t2.ndb"); var query8 = odb.Query<User>(); var nbUsers = query8.Execute<User>().Count; var query = odb.Query<Profile>(); var nbProfiles = query.Execute<Profile>(true).Count; var query1 = odb.Query<VO.Login.Function>(); var nbFunctions = query1.Execute<VO.Login.Function>(true).Count; var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); IList<VO.Login.Function> list = new List<VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator", list); var olivier = new User("olivier smadja", "*****@*****.**", profile); var aisa = new User("Aísa Galvão Smadja", "*****@*****.**", profile); odb.Store(olivier); odb.Store(aisa); odb.Commit(); var query2 = odb.Query<User>(); var users = query2.Execute<User>(true); var query3 = odb.Query<Profile>(); var profiles = query3.Execute<Profile>(true); var query4 = odb.Query<VO.Login.Function>(); var functions = query4.Execute<VO.Login.Function>(true); odb.Close(); // println("Users:"+users); Println("Profiles:" + profiles); Println("Functions:" + functions); odb = Open("t2.ndb"); var query5 = odb.Query<User>(); var l = query5.Execute<User>(true); odb.Close(); AssertEquals(nbUsers + 2, users.Count); var user2 = users.GetFirst(); AssertEquals(olivier.ToString(), user2.ToString()); AssertEquals(nbProfiles + 1, profiles.Count); AssertEquals(nbFunctions + 2, functions.Count); var odb2 = Open("t2.ndb"); var query6 = odb2.Query<VO.Login.Function>(); var l2 = query6.Execute<VO.Login.Function>(true); var function = l2.GetFirst(); function.SetName("login function"); odb2.Store(function); odb2.Close(); var odb3 = Open("t2.ndb"); var query7 = odb3.Query<User>(); var l3 = query7.Execute<User>(true); var i = 0; while (l3.HasNext() && i < Math.Min(2, l3.Count)) { var user = l3.Next(); AssertEquals("login function", string.Empty + user.GetProfile().GetFunctions()[0]); i++; } odb3.Close(); DeleteBase("t2.ndb"); }
public virtual void Test1() { var baseName = GetBaseName(); var odb = Open(baseName); decimal n = odb.Query<VO.Login.Function>().Count(); var function1 = new VO.Login.Function("function1"); var function2 = new VO.Login.Function("function2"); var function3 = new VO.Login.Function("function3"); odb.Store(function1); odb.Store(function2); odb.Store(function3); odb.Close(); odb = Open(baseName); var query = odb.Query<VO.Login.Function>(); query.Descend("name").Constrain((object) "function2").Equal(); var l = query.Execute<VO.Login.Function>(); var function = l.GetFirst(); odb.Delete(function); odb.Close(); odb = Open(baseName); var query1 = odb.Query<VO.Login.Function>(); var l2 = query1.Execute<VO.Login.Function>(true); AssertEquals(n + 2, odb.Query<VO.Login.Function>().Count()); odb.Close(); DeleteBase(baseName); }
public virtual void Test1() { var baseName = GetBaseName(); var odb = Open(baseName); decimal n = odb.Query <VO.Login.Function>().Count(); var function1 = new VO.Login.Function("function1"); var function2 = new VO.Login.Function("function2"); var function3 = new VO.Login.Function("function3"); odb.Store(function1); odb.Store(function2); odb.Store(function3); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); query.Descend("name").Constrain((object)"function2").Equal(); var l = query.Execute <VO.Login.Function>(); var function = l.GetFirst(); odb.Delete(function); odb.Close(); odb = Open(baseName); var query1 = odb.Query <VO.Login.Function>(); var l2 = query1.Execute <VO.Login.Function>(true); AssertEquals(n + 2, odb.Query <VO.Login.Function>().Count()); odb.Close(); DeleteBase(baseName); }
public virtual void Test6() { DeleteBase("t1u.ndb"); var odb = Open("t1u.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); odb.Store(login); odb.Store(logout); odb.Close(); odb = Open("t1u.ndb"); var login2 = new VO.Login.Function("login2"); var logout2 = new VO.Login.Function("logout2"); odb.Store(login2); odb.Store(logout2); // select without committing var query1 = odb.Query <VO.Login.Function>(); var l = query1.Execute <VO.Login.Function>(true); AssertEquals(4, l.Count); // println(l); odb.Close(); odb = Open("t1u.ndb"); var query = odb.Query <VO.Login.Function>(); l = query.Execute <VO.Login.Function>(true); AssertEquals(4, l.Count); // println(l); odb.Close(); }
public virtual void TestCriteriaQueryQueryWithValueInList2_with_null_object() { var baseName = GetBaseName(); Init(baseName); var odb = Open(baseName); var p0 = new Profile("profile0"); p0.AddFunction(new VO.Login.Function("f1")); p0.AddFunction(new VO.Login.Function("f2")); p0.AddFunction(new VO.Login.Function("f12")); p0.AddFunction(new VO.Login.Function("f22")); var p1 = new Profile("profile1"); var user = new User("The user", "themail", p0); var user2 = new User("The user2", "themail2", p1); odb.Store(user); odb.Store(user2); odb.Close(); odb = Open(baseName); var f2bis = new VO.Login.Function("f2"); var query = odb.Query <Profile>(); query.Descend("functions").Constrain(null).Contains(); var l = query.Execute <Profile>(); //One from test, one from init AssertEquals(2, l.Count()); p1 = l.First(x => x.GetName().Equals("profile1")); AssertEquals("profile1", p1.GetName()); odb.Close(); }
public virtual void TestSimple() { DeleteBase("t2.ndb"); var odb = Open("t2.ndb"); var query = odb.Query <VO.Login.Function>(); var nbFunctions = query.Execute <VO.Login.Function>(true).Count; var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); odb.Store(login); odb.Store(logout); odb.Close(); odb = Open("t2.ndb"); var query1 = odb.Query <VO.Login.Function>(); var functions = query1.Execute <VO.Login.Function>(true); var f1 = functions.GetFirst(); f1.SetName("login1"); odb.Store(f1); odb.Close(); odb = Open("t2.ndb"); var query2 = odb.Query <VO.Login.Function>(); functions = query2.Execute <VO.Login.Function>(true); odb.Close(); AssertEquals(2, functions.Count); AssertEquals("login1", (functions.GetFirst()).GetName()); DeleteBase("t2.ndb"); }
public virtual void Test1() { DeleteBase("t1.ndb"); // LogUtil.allOn(true); var odb = Open("t1.ndb"); // LogUtil.objectWriterOn(true); var login = new VO.Login.Function("login"); IList <VO.Login.Function> list = new List <VO.Login.Function>(); list.Add(login); var profile1 = new Profile("operator 1", list); var user = new User("olivier smadja", "*****@*****.**", profile1); odb.Store(user); odb.Close(); odb = Open("t1.ndb"); var query = odb.Query <User>(); var users = query.Execute <User>(true); // assertEquals(nbUsers+2,users.size()); var user2 = users.GetFirst(); odb.Close(); AssertEquals(user.ToString(), user2.ToString()); DeleteBase("t1.ndb"); }
public virtual void Test1() { var stopWatch = new StopWatch(); stopWatch.Start(); IDictionary loadedObjects = new Dictionary<object, object>(); IDictionary modifiedObjects = new Dictionary<object, object>(); VO.Login.Function f = null; OID oid = null; for (var i = 0; i < size; i++) { f = new VO.Login.Function("function " + i); oid = OIDFactory.BuildObjectOID(i); loadedObjects.Add(oid, f); if (i < size / 2) modifiedObjects.Add(oid, f); } var j = 0; var nbModified = 0; // Now get all modified objects var iterator = modifiedObjects.Keys.GetEnumerator(); while (iterator.MoveNext()) { oid = (OID) iterator.Current; var o = modifiedObjects[oid]; j++; nbModified++; } stopWatch.End(); Println("time for 2 maps =" + stopWatch.GetDurationInMiliseconds()); AssertEquals(size / 2, nbModified); }
public virtual void TestComplexInstance() { DeleteBase("t-complex-instance.ndb"); var odb = Open("t-complex-instance.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); var functions = new List <VO.Login.Function>(); functions.Add(login); functions.Add(logout); var profile = new Profile("profile1", functions); var user = new User("oliver", "*****@*****.**", profile); var user22 = new User("oliver2", "*****@*****.**", profile); odb.Store(user); odb.Store(user22); odb.Close(); odb = Open("t-complex-instance.ndb"); var query = odb.Query <User>(); var l = query.Execute <User>(true); var user2 = l.GetFirst(); // println("#### " + l.size() + " : " + l); AssertEquals(user.GetName(), user2.GetName()); AssertEquals(user.GetEmail(), user2.GetEmail()); AssertEquals(user.GetProfile().GetName(), user2.GetProfile().GetName()); AssertEquals(user.GetProfile().GetFunctions()[0].ToString(), user2.GetProfile().GetFunctions()[0].ToString()); odb.Close(); DeleteBase("t-complex-instance.ndb"); }
public virtual void Test10() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var query = odb.Query<VO.Login.Function>(); long size = query.Execute<VO.Login.Function>().Count; var f1 = new VO.Login.Function("function1"); odb.Store(f1); odb.Close(); odb = Open(baseName); var query1 = odb.Query<VO.Login.Function>(); var f1bis = query1.Execute<VO.Login.Function>().GetFirst(); odb.Delete(f1bis); odb.Close(); odb = Open(baseName); var query3 = odb.Query<VO.Login.Function>(); AssertEquals(size, query3.Execute<VO.Login.Function>().Count); odb.Store(new VO.Login.Function("last function")); odb.Close(); odb = Open(baseName); var query2 = odb.Query<VO.Login.Function>(); var l = query2.Execute<VO.Login.Function>(); odb.Close(); AssertEquals(size + 1, l.Count); }
public virtual void Test2() { IOdb odb = null; DeleteBase("trigger.ndb"); var myTrigger = new MyTrigger(); try { odb = Open("trigger.ndb"); odb.TriggerManagerFor<VO.Login.Function>().AddInsertTrigger(myTrigger); var f1 = new VO.Login.Function("function1"); var f2 = new VO.Login.Function("function2"); var profile = new Profile("profile1", f1); var user = new User("oli", "*****@*****.**", profile); odb.Store(user); odb.Store(f2); } finally { if (odb != null) odb.Close(); } odb = Open("trigger.ndb"); odb.Close(); DeleteBase("trigger.ndb"); AssertEquals(2, myTrigger.nbInsertsBefore); AssertEquals(2, myTrigger.nbInsertsAfter); }
public virtual void Test5() { DeleteBase("getid.ndb"); var function1 = new VO.Login.Function("f1"); var function2 = new VO.Login.Function("f2"); var odb = Open("getid.ndb"); odb.Store(function1); odb.Store(function2); var id1 = odb.GetObjectId(function1); var id2 = odb.GetObjectId(function2); odb.Close(); odb = Open("getid.ndb"); var t1 = OdbTime.GetCurrentTimeInMs(); var function1bis = (VO.Login.Function)odb.GetObjectFromId(id1); var function2bis = (VO.Login.Function)odb.GetObjectFromId(id2); var t2 = OdbTime.GetCurrentTimeInMs(); odb.Close(); DeleteBase("getid.ndb"); AssertEquals(function1.GetName(), function1bis.GetName()); AssertEquals(function2.GetName(), function2bis.GetName()); var time = t2 - t1; Println(time); long acceptableTime = 1; if (time > acceptableTime) { // ms Fail("Getting two objects by oid lasted more than " + acceptableTime + "ms : " + time); } }
public void TestCopy() { const string dbName = "introspectortest2.odb"; DeleteBase(dbName); var odb = OdbFactory.Open(dbName); var function = new VO.Login.Function("login"); var profile = new Profile("operator", function); var user = new User("olivier smadja", "*****@*****.**", profile); var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine(); var instanceInfo = (NonNativeObjectInfo) new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null, new InstrumentationCallbackForStore(null, false)); var copy = (NonNativeObjectInfo)instanceInfo.CreateCopy(new OdbHashMap <OID, AbstractObjectInfo>(), true); AssertEquals(3, copy.GetAttributeValues().Length); var aois = copy.GetAttributeValues(); for (var i = 0; i < aois.Length; i++) { var aoi = aois[i]; AssertEquals(instanceInfo.GetAttributeValues()[i].GetOdbTypeId(), aoi.GetOdbTypeId()); } odb.Close(); }
public virtual void Test1() { DeleteBase("getid.ndb"); var function1 = new VO.Login.Function("f1"); var function2 = new VO.Login.Function("f2"); var odb = Open("getid.ndb"); odb.Store(function1); odb.Store(function2); var id1 = odb.GetObjectId(function1); var id2 = odb.GetObjectId(function2); odb.Close(); odb = Open("getid.ndb"); var function1bis = (VO.Login.Function)odb.GetObjectFromId(id1); AssertEquals(function1.GetName(), function1bis.GetName()); var function2bis = (VO.Login.Function)odb.GetObjectFromId(id2); function2bis.SetName("function 2"); odb.Store(function2bis); var id2bis = odb.GetObjectId(function2bis); odb.Close(); odb = Open("getid.ndb"); var function2ter = (VO.Login.Function)odb.GetObjectFromId(id2); AssertEquals("function 2", function2ter.GetName()); odb.Close(); DeleteBase("getid.ndb"); }
public void TestCompareCollection6() { const string dbName = "introspectortest6.odb"; DeleteBase(dbName); var odb = OdbFactory.Open(dbName); var function = new VO.Login.Function("login"); var profile = new Profile("operator", function); var user = new User("olivier smadja", "*****@*****.**", profile); IObjectInfoComparator comparator = new ObjectInfoComparator(); var ci = ClassIntrospector.Introspect(user.GetType(), true).GetMainClassInfo(); var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine(); var instanceInfo = (NonNativeObjectInfo) new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null, new InstrumentationCallbackForStore(null, false)); // Sets attributes offsets - this is normally done by reading then from // disk, but in this junit, // we must set them manually var offsets = new[] { 1L, 2L, 3L }; var ids = new[] { 1, 2, 3 }; instanceInfo.GetHeader().SetAttributesIdentification(offsets); instanceInfo.GetHeader().SetAttributesIds(ids); instanceInfo.GetHeader().SetOid(OIDFactory.BuildObjectOID(1)); var nnoiProfile = (NonNativeObjectInfo)instanceInfo.GetAttributeValueFromId(3); nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2)); var nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1); nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3)); var nnoi = (NonNativeObjectInfo)instanceInfo.GetAttributeValueFromId(ci.GetAttributeId("profile")); nnoi.GetHeader().SetAttributesIdentification(offsets); nnoi.GetHeader().SetAttributesIds(ids); profile.SetName("ope"); var instanceInfo3 = (NonNativeObjectInfo) new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null, new InstrumentationCallbackForStore(null, false)); instanceInfo3.GetHeader().SetOid(OIDFactory.BuildObjectOID(1)); nnoiProfile = (NonNativeObjectInfo)instanceInfo3.GetAttributeValueFromId(3); nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2)); nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1); nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3)); AssertTrue(comparator.HasChanged(instanceInfo, instanceInfo3)); AssertEquals(1, comparator.GetNbChanges()); odb.Close(); }
public virtual void Test6() { DeleteBase("t1u.ndb"); var odb = Open("t1u.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); odb.Store(login); odb.Store(logout); odb.Close(); odb = Open("t1u.ndb"); var login2 = new VO.Login.Function("login2"); var logout2 = new VO.Login.Function("logout2"); odb.Store(login2); odb.Store(logout2); // select without committing var query1 = odb.Query<VO.Login.Function>(); var l = query1.Execute<VO.Login.Function>(true); AssertEquals(4, l.Count); // println(l); odb.Close(); odb = Open("t1u.ndb"); var query = odb.Query<VO.Login.Function>(); l = query.Execute<VO.Login.Function>(true); AssertEquals(4, l.Count); // println(l); odb.Close(); }
public virtual void TestUpdateObjectReference4() { DeleteBase(FileName); var odb = Open(FileName); var function = new VO.Login.Function("login"); var user = new User("olivier smadja", "*****@*****.**", null); odb.Store(user); odb.Close(); var profile2 = new Profile("new operator", function); odb = Open(FileName); odb.Store(profile2); var query = odb.Query <User>(); var user2 = query.Execute <User>().GetFirst(); user2.SetProfile(profile2); odb.Store(user2); odb.Close(); odb = Open(FileName); var query1 = odb.Query <User>(); user2 = query1.Execute <User>().GetFirst(); AssertEquals("new operator", user2.GetProfile().GetName()); var query2 = odb.Query <Profile>(); AssertEquals(1, query2.Execute <Profile>().Count); odb.Close(); }
public virtual void Test7() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var f1 = new VO.Login.Function("function1"); var f2 = new VO.Login.Function("function2"); var f3 = new VO.Login.Function("function3"); odb.Store(f1); odb.Store(f2); odb.Store(f3); var id = odb.GetObjectId(f3); odb.Close(); try { odb = Open(baseName); var f3bis = (VO.Login.Function)odb.GetObjectFromId(id); odb.Delete(f3bis); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); var l = query.Execute <VO.Login.Function>(); odb.Close(); AssertEquals(2, l.Count); } catch (OdbRuntimeException) { odb.Close(); DeleteBase(baseName); } }
public virtual void Test15() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var f1 = new VO.Login.Function("function1"); var f2 = new VO.Login.Function("function2"); odb.Store(f1); odb.Store(f2); AssertEquals(2, odb.Query <VO.Login.Function>().Count()); odb.Delete(f1); odb.Delete(f2); AssertEquals(0, odb.Query <VO.Login.Function>().Count()); odb.Store(f1); odb.Store(f2); AssertEquals(2, odb.Query <VO.Login.Function>().Count()); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); AssertEquals(2, query.Execute <VO.Login.Function>().Count); odb.Close(); DeleteBase(baseName); }
public void Test1() { var odb = Open("big-data.ndb"); var buffer = new StringBuilder(); for (var i = 0; i < 30000; i++) buffer.Append('a'); var function = new VO.Login.Function(buffer.ToString()); odb.Store(function); odb.Close(); odb = Open("big-data.ndb"); var query1 = odb.Query<VO.Login.Function>(); var f2 = query1.Execute<VO.Login.Function>().GetFirst(); AssertEquals(30000, f2.GetName().Length); odb.Close(); odb = Open("big-data.ndb"); var query = odb.Query<VO.Login.Function>(); f2 = query.Execute<VO.Login.Function>().GetFirst(); f2.SetName(f2.GetName() + "ola chico"); var newSize = f2.GetName().Length; odb.Store(f2); odb.Close(); odb = Open("big-data.ndb"); var query2 = odb.Query<VO.Login.Function>(); f2 = query2.Execute<VO.Login.Function>().GetFirst(); AssertEquals(newSize, f2.GetName().Length); AssertEquals(buffer + "ola chico", f2.GetName()); odb.Close(); }
public virtual void Test1() { DeleteBase("t1u.ndb"); var odb = Open("t1u.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); odb.Store(login); Println("--------"); odb.Store(login); odb.Store(logout); // odb.commit(); odb.Close(); odb = Open("t1u.ndb"); var query = odb.Query <VO.Login.Function>(); var l = query.Execute <VO.Login.Function>(true); var f2 = l.GetFirst(); f2.SetName("login function"); odb.Store(f2); odb.Close(); var odb2 = Open("t1u.ndb"); var query1 = odb2.Query <VO.Login.Function>(); var f = query1.Execute <VO.Login.Function>().GetFirst(); AssertEquals("login function", f.GetName()); odb2.Close(); DeleteBase("t1u.ndb"); }
public virtual void Test6() { // LogUtil.objectWriterOn(true); DeleteBase("t6.ndb"); var odb = Open("t6.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); var list = new List <VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator", list); var olivier = new User("olivier smadja", "*****@*****.**", profile); odb.Store(olivier); odb.Close(); Println("----------"); odb = Open("t6.ndb"); var query = odb.Query <User>(); var users = query.Execute <User>(true); var u1 = users.GetFirst(); u1.GetProfile().SetName("operator 234567891011121314"); odb.Store(u1); odb.Close(); odb = Open("t6.ndb"); var query1 = odb.Query <Profile>(); var profiles = query1.Execute <Profile>(true); AssertEquals(1, profiles.Count); var p1 = profiles.GetFirst(); AssertEquals(u1.GetProfile().GetName(), p1.GetName()); }
public virtual void Test5() { DeleteBase("t5.ndb"); var odb = Open("t5.ndb"); var nbFunctions = odb.Query <VO.Login.Function>().Count(); var nbProfiles = odb.Query <Profile>().Count(); var nbUsers = odb.Query <User>().Count(); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); var list = new List <VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator", list); var olivier = new User("olivier smadja", "*****@*****.**", profile); var aisa = new User("Aísa Galvão Smadja", "*****@*****.**", profile); odb.Store(olivier); odb.Store(profile); odb.Commit(); odb.Close(); odb = Open("t5.ndb"); var query = odb.Query <User>(); var users = query.Execute <User>(true); var query1 = odb.Query <Profile>(); var profiles = query1.Execute <Profile>(true); var query2 = odb.Query <VO.Login.Function>(); var functions = query2.Execute <VO.Login.Function>(true); odb.Close(); AssertEquals(nbUsers + 1, users.Count); AssertEquals(nbProfiles + 1, profiles.Count); AssertEquals(nbFunctions + 2, functions.Count); }
public virtual void Test3() { DeleteBase("t1u2.ndb"); var odb = Open("t1u2.ndb"); var login = new VO.Login.Function(null); odb.Store(login); odb.Close(); odb = Open("t1u2.ndb"); var query = odb.Query <VO.Login.Function>(); query.Descend("name").Constrain(null).Equal(); login = query.Execute <VO.Login.Function>().GetFirst(); AssertTrue(login.GetName() == null); login.SetName("login"); odb.Store(login); odb.Close(); odb = Open("t1u2.ndb"); var query1 = odb.Query <VO.Login.Function>(); login = query1.Execute <VO.Login.Function>().GetFirst(); AssertTrue(login.GetName().Equals("login")); odb.Close(); DeleteBase("t1u2.ndb"); }
public virtual void Test9() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var f1 = new VO.Login.Function("function1"); var f2 = new VO.Login.Function("function2"); var f3 = new VO.Login.Function("function3"); odb.Store(f1); odb.Store(f2); odb.Store(f3); var id = odb.GetObjectId(f3); odb.Close(); odb = Open(baseName); var f3bis = (VO.Login.Function)odb.GetObjectFromId(id); odb.Delete(f3bis); odb.Close(); odb = Open(baseName); odb.Store(new VO.Login.Function("last function")); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); var l = query.Execute <VO.Login.Function>(); odb.Close(); AssertEquals(3, l.Count); }
public virtual void TestUpdateRelation() { var baseName = GetBaseName(); var odb = Open(baseName); // first create a function var f = new VO.Login.Function("f1"); odb.Store(f); odb.Close(); odb = Open(baseName); // reloads the function var query = odb.Query <VO.Login.Function>(); query.Descend("name").Constrain((object)"f1").Equal(); var functions = query.Execute <VO.Login.Function>(); var f1 = functions.GetFirst(); // Create a profile with the loaded function var profile = new Profile("test", f1); odb.Store(profile); odb.Close(); odb = Open(baseName); var query1 = odb.Query <Profile>(); var profiles = query1.Execute <Profile>(); var query2 = odb.Query <VO.Login.Function>(); functions = query2.Execute <VO.Login.Function>(); odb.Close(); DeleteBase(baseName); AssertEquals(1, functions.Count); AssertEquals(1, profiles.Count); }
public virtual void TestSelectTrigger() { IOdb odb = null; DeleteBase("trigger.ndb"); var myTrigger = new MySelectTrigger(); try { odb = Open("trigger.ndb"); var f1 = new VO.Login.Function("function1"); var f2 = new VO.Login.Function("function2"); var profile = new Profile("profile1", f1); var user = new User("oli", "*****@*****.**", profile); odb.Store(user); odb.Store(f2); } finally { if (odb != null) odb.Close(); } odb = Open("trigger.ndb"); odb.TriggerManagerFor<VO.Login.Function>().AddSelectTrigger(myTrigger); var query = odb.Query<VO.Login.Function>(); var functions = query.Execute<VO.Login.Function>(); odb.Close(); DeleteBase("trigger.ndb"); AssertEquals(2, functions.Count); AssertEquals(2, myTrigger.nbCalls); }
public virtual void Test4() { var baseName = GetBaseName(); var n = 100; var odb = Open(baseName); var size = odb.Query <VO.Login.Function>().Count(); for (var i = 0; i < n; i++) { var login = new VO.Login.Function("login - " + (i + 1)); odb.Store(login); AssertEquals(size + i + 1, odb.Query <VO.Login.Function>().Count()); Console.WriteLine(i); } // IStorageEngine engine = Dummy.getEngine(odb); odb.Commit(); var query = odb.Query <VO.Login.Function>(); var l = query.Execute <VO.Login.Function>(true); var j = 0; while (l.HasNext()) { Console.WriteLine(" i=" + j); var f = l.Next(); odb.Delete(f); var query1 = odb.Query <VO.Login.Function>(); var l2 = query1.Execute <VO.Login.Function>(); AssertEquals(size + n - (j + 1), l2.Count); j++; } odb.Commit(); odb.Close(); DeleteBase(baseName); }
public virtual void Test5() { DeleteBase(FileName); using (var odb = Open(FileName)) { IList list = new ArrayList(); for (var i = 0; i < 15; i++) { var function = new VO.Login.Function("function " + i); odb.Store(function); list.Add(function); } } using (var odb = Open(FileName)) { IQuery query = odb.Query <VO.Login.Function>(); query.Descend("name").Constrain("%9").Like().Or(query.Descend("name").Constrain("%8").Like()); var l = query.Execute <VO.Login.Function>(false); AssertEquals(2, l.Count); l.Next(); odb.Store(l.Next()); } using (var odb = Open(FileName)) { AssertEquals(15, odb.Query <VO.Login.Function>().Count()); } }
public virtual void Test7() { DeleteBase(FileName); var odb = Open(FileName); var function = new VO.Login.Function("login"); var profile = new Profile("operator", function); var user = new User("olivier smadja", "*****@*****.**", profile); odb.Store(user); odb.Close(); odb = Open(FileName); var query = odb.Query <User>(); var user2 = query.Execute <User>().GetFirst(); user2.GetProfile().AddFunction(new VO.Login.Function("new Function")); odb.Store(user2); odb.Close(); odb = Open(FileName); var query1 = odb.Query <User>(); var user3 = query1.Execute <User>().GetFirst(); AssertEquals(2, user3.GetProfile().GetFunctions().Count); var f1 = user3.GetProfile().GetFunctions()[0]; var f2 = user3.GetProfile().GetFunctions()[1]; AssertEquals("login", f1.GetName()); AssertEquals("new Function", f2.GetName()); odb.Close(); }
public virtual void TestComplexInstance() { DeleteBase("t-complex-instance.ndb"); var odb = Open("t-complex-instance.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); var functions = new List<VO.Login.Function>(); functions.Add(login); functions.Add(logout); var profile = new Profile("profile1", functions); var user = new User("oliver", "*****@*****.**", profile); var user22 = new User("oliver2", "*****@*****.**", profile); odb.Store(user); odb.Store(user22); odb.Close(); odb = Open("t-complex-instance.ndb"); var query = odb.Query<User>(); var l = query.Execute<User>(true); var user2 = l.GetFirst(); // println("#### " + l.size() + " : " + l); AssertEquals(user.GetName(), user2.GetName()); AssertEquals(user.GetEmail(), user2.GetEmail()); AssertEquals(user.GetProfile().GetName(), user2.GetProfile().GetName()); AssertEquals(user.GetProfile().GetFunctions()[0].ToString(), user2.GetProfile().GetFunctions()[0].ToString()); odb.Close(); DeleteBase("t-complex-instance.ndb"); }
public virtual void Test4() { DeleteBase(FileName); var odb = Open(FileName); IList list = new ArrayList(); for (var i = 0; i < 15; i++) { var function = new VO.Login.Function("function " + i); try { odb.Store(function); } catch (Exception e) { odb.Rollback(); odb.Close(); AssertTrue(e.Message.IndexOf("Cache is full!") != -1); return; } list.Add(function); } odb.Close(); odb = Open(FileName); var query = odb.Query <VO.Login.Function>(); var l = query.Execute <VO.Login.Function>(true); l.Next(); l.Next(); odb.Store(l.Next()); odb.Close(); odb = Open(FileName); AssertEquals(15, odb.Query <VO.Login.Function>().Count()); odb.Close(); }
public virtual void Test19() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var f1 = new VO.Login.Function("function1"); odb.Store(f1); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); var objects = query.Execute <VO.Login.Function>(); AssertEquals(1, objects.Count); var f2 = objects.GetFirst(); var oid = odb.GetObjectId(f2); odb.DeleteObjectWithId(oid); var query1 = odb.Query <VO.Login.Function>(); AssertEquals(0, query1.Execute <VO.Login.Function>().Count); odb.Close(); odb = Open(baseName); var query2 = odb.Query <VO.Login.Function>(); objects = query2.Execute <VO.Login.Function>(); AssertEquals(0, objects.Count); }
public virtual void Test18() { var baseName = GetBaseName(); IOdb odb = null; DeleteBase(baseName); odb = Open(baseName); var f1 = new VO.Login.Function("function1"); var f2 = new VO.Login.Function("function2"); var f3 = new VO.Login.Function("function2"); var oid1 = odb.Store(f1); var oid2 = odb.Store(f2); var oid3 = odb.Store(f3); AssertEquals(3, odb.Query <VO.Login.Function>().Count()); odb.Close(); odb = Open(baseName); odb.DeleteObjectWithId(oid2); AssertEquals(2, odb.Query <VO.Login.Function>().Count()); // odb.store(f1); odb.Store(new VO.Login.Function("f11")); odb.Store(new VO.Login.Function("f12")); odb.Store(new VO.Login.Function("f13")); // odb.store(f3); AssertEquals(5, odb.Query <VO.Login.Function>().Count()); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); AssertEquals(5, query.Execute <VO.Login.Function>().Count); odb.Close(); DeleteBase(baseName); }
public virtual void Test10() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); long size = query.Execute <VO.Login.Function>().Count; var f1 = new VO.Login.Function("function1"); odb.Store(f1); odb.Close(); odb = Open(baseName); var query1 = odb.Query <VO.Login.Function>(); var f1bis = query1.Execute <VO.Login.Function>().GetFirst(); odb.Delete(f1bis); odb.Close(); odb = Open(baseName); var query3 = odb.Query <VO.Login.Function>(); AssertEquals(size, query3.Execute <VO.Login.Function>().Count); odb.Store(new VO.Login.Function("last function")); odb.Close(); odb = Open(baseName); var query2 = odb.Query <VO.Login.Function>(); var l = query2.Execute <VO.Login.Function>(); odb.Close(); AssertEquals(size + 1, l.Count); }
public virtual void Test2() { var baseName = GetBaseName(); DeleteBase(baseName); long nbFunctions; using (var odb = Open(baseName)) { nbFunctions = odb.Query <VO.Login.Function>().Count(); decimal nbProfiles = odb.Query <Profile>().Count(); var function1 = new VO.Login.Function("function1"); var function2 = new VO.Login.Function("function2"); var function3 = new VO.Login.Function("function3"); var functions = new List <VO.Login.Function>(); functions.Add(function1); functions.Add(function2); functions.Add(function3); var profile1 = new Profile("profile1", functions); var profile2 = new Profile("profile2", function1); odb.Store(profile1); odb.Store(profile2); } using (var odb = Open(baseName)) { var query1 = odb.Query <VO.Login.Function>(); var lfunctions = query1.Execute <VO.Login.Function>(true); AssertEquals(nbFunctions + 3, lfunctions.Count); var query = odb.Query <VO.Login.Function>(); query.Descend("name").Constrain("function2").Equal(); var l = query.Execute <VO.Login.Function>(); var function = l.GetFirst(); odb.Delete(function); } using (var odb = Open(baseName)) { AssertEquals(nbFunctions + 2, odb.Query <VO.Login.Function>().Count()); var query3 = odb.Query <VO.Login.Function>(); var l2 = query3.Execute <VO.Login.Function>(true); // check Profile 1 var query2 = odb.Query <Profile>(); query2.Descend("name").Constrain("profile1").Equal(); var lprofile = query2.Execute <Profile>(); var p1 = lprofile.GetFirst(); AssertEquals(3, p1.GetFunctions().Count); Assert.That(p1.GetFunctions(), Contains.Item(null)); } }
public virtual void Test21() { IOdb odb = null; var baseName = GetBaseName(); odb = Open(baseName); var f0 = new VO.Login.Function("function0"); odb.Store(f0); odb.Close(); odb = Open(baseName); var f1 = new VO.Login.Function("function1"); odb.Store(f1); var f2 = new VO.Login.Function("function2"); odb.Store(f2); odb.Delete(f1); odb.Close(); odb = Open(baseName); var objects = odb.Query <VO.Login.Function>().Execute <VO.Login.Function>(); AssertEquals(2, objects.Count); odb.Close(); }
public virtual void Test20() { var baseName = GetBaseName(); IOdb odb = null; odb = Open(baseName); var f0 = new VO.Login.Function("1function0"); odb.Store(f0); odb.Close(); odb = Open(baseName); var f1 = new VO.Login.Function("function1"); odb.Store(f1); odb.Commit(); var query = odb.Query <VO.Login.Function>(); query.Descend("name").Constrain("func%").Like(); var objects = query.Execute <VO.Login.Function>(); AssertEquals(1, objects.Count); var f2 = objects.GetFirst(); var oid = odb.GetObjectId(f2); odb.DeleteObjectWithId(oid); var query1 = odb.Query <VO.Login.Function>(); AssertEquals(1, query1.Execute <VO.Login.Function>().Count); odb.Close(); odb = Open(baseName); var query2 = odb.Query <VO.Login.Function>(); objects = query2.Execute <VO.Login.Function>(); AssertEquals(1, objects.Count); }
public virtual void Test1() { DeleteBase(FileName); IDbIdentification parameter = new FileIdentification(FileName); var engine = (IStorageEngine) new StorageEngine(parameter); var function1 = new VO.Login.Function("login"); engine.Store(function1); var function2 = new VO.Login.Function("login2"); engine.Store(function2); engine.Commit(); engine.Close(); engine = new StorageEngine(parameter); var l = engine.GetAllObjectIds(); AssertEquals(2, l.Count); engine.Close(); DeleteBase(FileName); }
public virtual void Test1() { DeleteBase("t1u.ndb"); var odb = Open("t1u.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); odb.Store(login); Println("--------"); odb.Store(login); odb.Store(logout); // odb.commit(); odb.Close(); odb = Open("t1u.ndb"); var query = odb.Query<VO.Login.Function>(); var l = query.Execute<VO.Login.Function>(true); var f2 = l.GetFirst(); f2.SetName("login function"); odb.Store(f2); odb.Close(); var odb2 = Open("t1u.ndb"); var query1 = odb2.Query<VO.Login.Function>(); var f = query1.Execute<VO.Login.Function>().GetFirst(); AssertEquals("login function", f.GetName()); odb2.Close(); DeleteBase("t1u.ndb"); }
public virtual void Test1() { DeleteBase("getid.ndb"); var function1 = new VO.Login.Function("f1"); var function2 = new VO.Login.Function("f2"); var odb = Open("getid.ndb"); odb.Store(function1); odb.Store(function2); var id1 = odb.GetObjectId(function1); var id2 = odb.GetObjectId(function2); odb.Close(); odb = Open("getid.ndb"); var function1bis = (VO.Login.Function) odb.GetObjectFromId(id1); AssertEquals(function1.GetName(), function1bis.GetName()); var function2bis = (VO.Login.Function) odb.GetObjectFromId(id2); function2bis.SetName("function 2"); odb.Store(function2bis); var id2bis = odb.GetObjectId(function2bis); odb.Close(); odb = Open("getid.ndb"); var function2ter = (VO.Login.Function) odb.GetObjectFromId(id2); AssertEquals("function 2", function2ter.GetName()); odb.Close(); DeleteBase("getid.ndb"); }
public virtual void Test3() { // LogUtil.objectReaderOn(true); DeleteBase("map-with-collections"); IOdb odb = null; odb = Open("map-with-collections"); var o = new MyMapObject("test"); IList<MyMapObject> c = new List<MyMapObject>(); c.Add(o); var f1 = new VO.Login.Function("function1"); o.GetMap().Add("a", c); var size = 1; for (var i = 0; i < size; i++) o.GetMap().Add("A" + i, f1); o.GetMap().Add("c", f1); Println("RealMap" + o.GetMap()); odb.Store(o); odb.Close(); odb = Open("map-with-collections"); var query = odb.Query<MyMapObject>(); var os = query.Execute<MyMapObject>(); var mmo = os.GetFirst(); odb.Close(); DeleteBase("map-with-collections"); AssertEquals(o.GetName(), mmo.GetName()); AssertEquals(size + 2, mmo.GetMap().Count); var enumerator = ((ICollection) mmo.GetMap()["a"]).GetEnumerator(); enumerator.MoveNext(); AssertEquals(mmo, enumerator.Current); AssertEquals("function1", mmo.GetMap()["c"].ToString()); }
private object GetInstance(int i) { var login = new VO.Login.Function("login " + i); var logout = new VO.Login.Function("logout" + i); IList<VO.Login.Function> list = new List<VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator" + i, list); var user = new User("kiko" + i, "*****@*****.**" + i, profile); return user; }
private object GetUserInstance() { var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); IList<VO.Login.Function> list = new List<VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator", list); var user = new User("olivier smadja", "*****@*****.**", profile); return user; }
public virtual void Test1() { DeleteBase("withoid"); var odb = Open("withoid"); var oid = odb.Store(new VO.Login.Function("f1")); odb.Close(); odb = Open("withoid"); var f2 = new VO.Login.Function("f2"); var engine = ((global::NDatabase.Odb)odb).GetStorageEngine(); engine.Store(oid, f2); odb.Close(); odb = Open("withoid"); var f = (VO.Login.Function) odb.GetObjectFromId(oid); odb.Close(); AssertEquals("f2", f.GetName()); }
public virtual void TestGetObjectId() { DeleteBase("extb"); var odb = OdbFactory.Open("extb"); var f = new VO.Login.Function("Test Function"); var oid = odb.Store(f); var extOid = odb.Ext().GetObjectExternalOID(f); AssertEquals(oid.ObjectId, extOid.ObjectId); AssertEquals(odb.Ext().GetDatabaseId(), extOid.GetDatabaseId()); odb.Close(); odb = Open("extb"); // Getting object via external oid var f2 = (VO.Login.Function) odb.GetObjectFromId(extOid); var lastOid = odb.GetObjectId(f2); AssertEquals(oid, lastOid); AssertEquals(f.GetName(), f2.GetName()); odb.Close(); }
public virtual void Test2() { DeleteBase("session.ndb"); var odb = Open("session.ndb"); var f = new VO.Login.Function("f1"); odb.Store(f); odb.Commit(); f.SetName("f1 -1"); odb.Store(f); odb.Close(); odb = Open("session.ndb"); var query = odb.Query<VO.Login.Function>(); var os = query.Execute<VO.Login.Function>(); AssertEquals(1, os.Count); var f2 = os.GetFirst(); odb.Close(); DeleteBase("session.ndb"); AssertEquals("f1 -1", f2.GetName()); }
public virtual void Test7() { DeleteBase("t1u.ndb"); var odb = Open("t1u.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); odb.Store(login); odb.Store(logout); odb.Commit(); var input = new VO.Login.Function("input"); odb.Store(input); odb.Close(); odb = Open("t1u.ndb"); var query = odb.Query<VO.Login.Function>(); var l = query.Execute<VO.Login.Function>(true); AssertEquals(3, l.Count); // println(l); odb.Close(); }
public virtual void Test1() { var baseName = GetBaseName(); Println(baseName); var odb = Open(baseName); var nameWithCyrillicCharacters = "\u0410 \u0430 \u0431 \u0448 \u0429"; var f = new VO.Login.Function(nameWithCyrillicCharacters); var oid = odb.Store(f); odb.Close(); Println(f); odb = Open(baseName); var f2 = (VO.Login.Function) odb.GetObjectFromId(oid); odb.Close(); AssertEquals(nameWithCyrillicCharacters, f2.GetName()); AssertEquals('\u0410', f2.GetName()[0]); AssertEquals('\u0430', f2.GetName()[2]); AssertEquals('\u0431', f2.GetName()[4]); AssertEquals('\u0448', f2.GetName()[6]); AssertEquals('\u0429', f2.GetName()[8]); }
public virtual void Test1() { DeleteBase("t1.ndb"); // LogUtil.allOn(true); var odb = Open("t1.ndb"); // LogUtil.objectWriterOn(true); var login = new VO.Login.Function("login"); IList<VO.Login.Function> list = new List<VO.Login.Function>(); list.Add(login); var profile1 = new Profile("operator 1", list); var user = new User("olivier smadja", "*****@*****.**", profile1); odb.Store(user); odb.Close(); odb = Open("t1.ndb"); var query = odb.Query<User>(); var users = query.Execute<User>(true); // assertEquals(nbUsers+2,users.size()); var user2 = users.GetFirst(); odb.Close(); AssertEquals(user.ToString(), user2.ToString()); DeleteBase("t1.ndb"); }
public virtual void Test1() { DeleteBase(FileName); IDbIdentification parameter = new FileIdentification(FileName); var engine = (IStorageEngine) new StorageEngine(parameter); var function1 = new VO.Login.Function("login"); engine.Store(function1); var function2 = new VO.Login.Function("login2"); engine.Store(function2); engine.Commit(); engine.Close(); engine = new StorageEngine(parameter); var l = engine.GetAllObjectIds(); AssertEquals(2, l.Count); engine.Close(); DeleteBase(FileName); }
public virtual void Test2() { var stopWatch = new StopWatch(); stopWatch.Start(); IDictionary objects = new Dictionary<object, object>(); VO.Login.Function f = null; OID oid = null; ObjectWrapper ow = null; var i = 0; for (i = 0; i < size; i++) { f = new VO.Login.Function("function " + i); oid = OIDFactory.BuildObjectOID(i); objects.Add(oid, new ObjectWrapper(f, false)); if (i < size / 2) { ow = (ObjectWrapper) objects[oid]; ow.SetModified(true); } } i = 0; var nbModified = 0; // Now get all modified objects var iterator = objects.Keys.GetEnumerator(); while (iterator.MoveNext()) { oid = (OID) iterator.Current; ow = (ObjectWrapper) objects[oid]; if (ow.IsModified()) nbModified++; i++; } stopWatch.End(); Println("time for 1 map =" + stopWatch.GetDurationInMiliseconds()); AssertEquals(size / 2, nbModified); }
public virtual void Test6() { // LogUtil.objectWriterOn(true); DeleteBase("t6.ndb"); var odb = Open("t6.ndb"); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); var list = new List<VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator", list); var olivier = new User("olivier smadja", "*****@*****.**", profile); odb.Store(olivier); odb.Close(); Println("----------"); odb = Open("t6.ndb"); var query = odb.Query<User>(); var users = query.Execute<User>(true); var u1 = users.GetFirst(); u1.GetProfile().SetName("operator 234567891011121314"); odb.Store(u1); odb.Close(); odb = Open("t6.ndb"); var query1 = odb.Query<Profile>(); var profiles = query1.Execute<Profile>(true); AssertEquals(1, profiles.Count); var p1 = profiles.GetFirst(); AssertEquals(u1.GetProfile().GetName(), p1.GetName()); }
public void TestCompareCollection9() { const string dbName = "introspectortest9.odb"; DeleteBase(dbName); var odb = OdbFactory.Open(dbName); var function = new VO.Login.Function("login"); var profile = new Profile("operator", function); var user = new User("olivier smadja", "*****@*****.**", profile); IObjectInfoComparator comparator = new ObjectInfoComparator(); var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine(); var instanceInfo = (NonNativeObjectInfo) new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null, new InstrumentationCallbackForStore(null, false)); // Sets attributes offsets - this is normally done by reading then from // disk, but in this junit, // we must set them manually var offsets = new[] {1L, 2L, 3L}; var ids = new[] {1, 2, 3}; instanceInfo.GetHeader().SetAttributesIdentification(offsets); instanceInfo.GetHeader().SetAttributesIds(ids); instanceInfo.GetHeader().SetOid(OIDFactory.BuildObjectOID(1)); var nnoiProfile = (NonNativeObjectInfo) instanceInfo.GetAttributeValueFromId(3); nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2)); var nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1); nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3)); user.SetName("Kiko"); var instanceInfo3 = (NonNativeObjectInfo) new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null, new InstrumentationCallbackForStore(null, false)); instanceInfo3.GetHeader().SetOid(OIDFactory.BuildObjectOID(1)); nnoiProfile = (NonNativeObjectInfo) instanceInfo3.GetAttributeValueFromId(3); nnoiProfile.SetOid(OIDFactory.BuildObjectOID(2)); nnoiFunctions = (NonNativeObjectInfo)nnoiProfile.GetAttributeValueFromId(1); nnoiFunctions.SetOid(OIDFactory.BuildObjectOID(3)); AssertTrue(comparator.HasChanged(instanceInfo, instanceInfo3)); AssertEquals(1, comparator.GetNbChanges()); odb.Close(); }
public virtual void Test5() { DeleteBase("t5.ndb"); var odb = Open("t5.ndb"); var nbFunctions = odb.Query<VO.Login.Function>().Count(); var nbProfiles = odb.Query<Profile>().Count(); var nbUsers = odb.Query<User>().Count(); var login = new VO.Login.Function("login"); var logout = new VO.Login.Function("logout"); var list = new List<VO.Login.Function>(); list.Add(login); list.Add(logout); var profile = new Profile("operator", list); var olivier = new User("olivier smadja", "*****@*****.**", profile); var aisa = new User("Aísa Galvão Smadja", "*****@*****.**", profile); odb.Store(olivier); odb.Store(profile); odb.Commit(); odb.Close(); odb = Open("t5.ndb"); var query = odb.Query<User>(); var users = query.Execute<User>(true); var query1 = odb.Query<Profile>(); var profiles = query1.Execute<Profile>(true); var query2 = odb.Query<VO.Login.Function>(); var functions = query2.Execute<VO.Login.Function>(true); odb.Close(); AssertEquals(nbUsers + 1, users.Count); AssertEquals(nbProfiles + 1, profiles.Count); AssertEquals(nbFunctions + 2, functions.Count); }
public void TestCopy() { const string dbName = "introspectortest2.odb"; DeleteBase(dbName); var odb = OdbFactory.Open(dbName); var function = new VO.Login.Function("login"); var profile = new Profile("operator", function); var user = new User("olivier smadja", "*****@*****.**", profile); var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine(); var instanceInfo = (NonNativeObjectInfo) new ObjectIntrospector(storageEngine.GetClassInfoProvider()).GetMetaRepresentation(user, true, null, new InstrumentationCallbackForStore(null, false)); var copy = (NonNativeObjectInfo) instanceInfo.CreateCopy(new OdbHashMap<OID, AbstractObjectInfo>(), true); AssertEquals(3, copy.GetAttributeValues().Length); var aois = copy.GetAttributeValues(); for (var i = 0; i < aois.Length; i++) { var aoi = aois[i]; AssertEquals(instanceInfo.GetAttributeValues()[i].GetOdbTypeId(), aoi.GetOdbTypeId()); } odb.Close(); }
public virtual void Test1WithCommit3() { var stopWatch = new StopWatch(); stopWatch.Start(); DeleteBase(FileName); var odb = Open(FileName); var f1 = new VO.Login.Function("function 1"); Println(odb.Query<User>().Count()); var p = new Profile("profile number 0", f1); p.AddFunction(new VO.Login.Function("f1")); var user = new User("user name 0", "user email 0", p); odb.Store(user); var p2 = new Profile("profile number 0", f1); p2.AddFunction(new VO.Login.Function("f2")); var user2 = new User("user name 0", "user email 0", p2); odb.Store(user2); odb.Close(); odb = Open(FileName); IObjectSet<User> objectSet = null; for (var k = 0; k < 2; k++) { Console.Out.WriteLine(":" + k); var query = odb.Query<User>(); objectSet = query.Execute<User>(); while (objectSet.HasNext()) { user = objectSet.Next(); user.GetProfile().SetName(user.GetProfile().GetName() + "-updated"); Println(user.GetProfile().GetName()); odb.Store(user); } } odb.Close(); odb = Open(FileName); var query1 = odb.Query<User>(); objectSet = query1.Execute<User>(); AssertEquals(2, objectSet.Count); odb.Close(); }
public virtual void Test1WithCommit4() { var stopWatch = new StopWatch(); stopWatch.Start(); DeleteBase(FileName); var odb = Open(FileName); var f1 = new VO.Login.Function("function1"); odb.Store(f1); var f2 = new VO.Login.Function("function2"); odb.Store(f2); odb.Close(); odb = Open(FileName); var query = odb.Query<VO.Login.Function>(); var objects = query.Execute<VO.Login.Function>(); VO.Login.Function f = null; Println("got the object " + objects.Count); for (var k = 0; k < 2; k++) { objects.Reset(); while (objects.HasNext()) { f = objects.Next(); f.SetName(f.GetName() + "updated-"); odb.Store(f); } } odb.Close(); odb = Open(FileName); var query1 = odb.Query<VO.Login.Function>(); objects = query1.Execute<VO.Login.Function>(); odb.Close(); }
public virtual void Test1WithCommit() { var stopWatch = new StopWatch(); stopWatch.Start(); var size = 10000; var size2 = 5000; var nbFunctions = 2; DeleteBase(FileName); var odb = Open(FileName); var f1 = new VO.Login.Function("function 1"); // Create Objects for (var i = 0; i < size; i++) { var p = new Profile("profile number " + i, f1); for (var j = 0; j < nbFunctions; j++) p.AddFunction(new VO.Login.Function(" inner function of profile : number " + i + " - " + j)); var user = new User("user name " + i, "user email " + i, p); odb.Store(user); if (i % 100 == 0) { } } // println("insert " + i); odb.Close(); Println("created"); // Updates 10 times the objects odb = Open(FileName); var query = odb.Query<User>(); var objects = query.Execute<User>(); Println("got the object " + objects.Count); for (var k = 0; k < 10; k++) { objects.Reset(); var start = OdbTime.GetCurrentTimeInMs(); for (var i = 0; i < size2; i++) { var user = objects.Next(); user.GetProfile().SetName(user.GetProfile().GetName() + "-updated"); odb.Store(user); if (i % 100 == 0) { } } // println("update " + i + " - " + k); Println("Update " + k + " - " + (OdbTime.GetCurrentTimeInMs() - start) + " ms"); } Println("updated"); // Delete the rest of the objects for (var i = size2; i < size; i++) { odb.Delete(objects.Next()); if (i % 100 == 0) Println("delete " + i); } Println("deleted"); odb.Close(); // Check object count odb = Open(FileName); var query1 = odb.Query<User>(); objects = query1.Execute<User>(); AssertEquals(size2, objects.Count); // Check data of the objects var a = 0; while (objects.HasNext()) { var user = objects.Next(); AssertEquals("user name " + a, user.GetName()); AssertEquals("user email " + a, user.GetEmail()); AssertEquals( "profile number " + a + "-updated-updated-updated-updated-updated-updated-updated-updated-updated-updated", user.GetProfile().GetName()); a++; } Println("checked"); for (var k = 0; k < 10; k++) { objects.Reset(); for (var i = 0; i < size2; i++) { var user = objects.Next(); user.GetProfile().SetName(user.GetProfile().GetName() + "-updated" + "-"); odb.Store(user); } } Println("re-updated"); odb.Close(); // delete objects odb = Open(FileName); var query2 = odb.Query<User>(); objects = query2.Execute<User>(); a = 0; while (objects.HasNext()) { odb.Delete(objects.Next()); a++; } AssertEquals(size2, a); odb.Close(); odb = Open(FileName); var query3 = odb.Query<User>(); AssertEquals(0, query3.Execute<User>().Count); AssertEquals(0, odb.Query<User>().Count()); Println("deleted"); odb.Close(); stopWatch.End(); Println("Total time 1 = " + stopWatch.GetDurationInMiliseconds()); if (stopWatch.GetDurationInMiliseconds() > 90700) Fail("time is > than " + 90700 + " = " + stopWatch.GetDurationInMiliseconds()); }
public virtual void Test1WithoutCommit() { var stopWatch = new StopWatch(); stopWatch.Start(); var size = 10000; var size2 = 5000; var nbFunctions = 10; DeleteBase(FileName); var odb = Open(FileName); var f1 = new VO.Login.Function("function 1"); // Create Objects for (var i = 0; i < size; i++) { var p = new Profile("profile number " + i, f1); for (var j = 0; j < nbFunctions; j++) p.AddFunction(new VO.Login.Function(" inner function of profile : number " + i + " - " + j)); var user = new User("user name " + i, "user email " + i, p); odb.Store(user); } Println("created"); // Updates 10 times the objects var query = odb.Query<User>(); var objects = query.Execute<User>(); for (var k = 0; k < 10; k++) { objects.Reset(); for (var i = 0; i < size2; i++) { var user = objects.Next(); user.GetProfile().SetName(user.GetProfile().GetName() + "-updated"); odb.Store(user); } } Println("updated"); // Delete the rest of the objects for (var i = size2; i < size; i++) odb.Delete(objects.Next()); Println("deleted"); // Check object count var query1 = odb.Query<User>(); objects = query1.Execute<User>(); AssertEquals(size2, objects.Count); // Check data of the objects var a = 0; while (objects.HasNext()) { var user = objects.Next(); AssertEquals("user name " + a, user.GetName()); AssertEquals("user email " + a, user.GetEmail()); AssertEquals( "profile number " + a + "-updated-updated-updated-updated-updated-updated-updated-updated-updated-updated", user.GetProfile().GetName()); a++; } Println("checked"); for (var k = 0; k < 10; k++) { objects.Reset(); for (var i = 0; i < size2; i++) { var user = objects.Next(); user.GetProfile().SetName(user.GetProfile().GetName() + "-updated" + "-"); odb.Store(user); } } Println("re-updated"); var query2 = odb.Query<User>(); objects = query2.Execute<User>(); var engine = ((global::NDatabase.Odb)odb).GetStorageEngine(); var uncommited = engine.GetSession().GetMetaModel().GetClassInfo(typeof (User).FullName, true).UncommittedZoneInfo; CIZoneInfo commited = engine.GetSession().GetMetaModel().GetClassInfo(typeof (User).FullName, true).CommitedZoneInfo; Println("Before commit : uncommited=" + uncommited); Println("Before commit : commited=" + commited); a = 0; while (objects.HasNext()) { // println("a="+a); odb.Delete(objects.Next()); a++; } AssertEquals(size2, a); var query3 = odb.Query<User>(); AssertEquals(0, query3.Execute<User>().Count); AssertEquals(0, odb.Query<User>().Count()); Println("deleted"); odb.Close(); stopWatch.End(); Println("Total time 2 = " + stopWatch.GetDurationInMiliseconds()); if (stopWatch.GetDurationInMiliseconds() > 108438) Fail("time is > than " + 108438 + " = " + stopWatch.GetDurationInMiliseconds()); }