public virtual void TestCriteriaQueryQueryWithValueInList() { var baseName = GetBaseName(); Init(baseName); var odb = Open(baseName); var p0 = new Profile("profile0"); p0.AddFunction(null); p0.AddFunction(new VO.Login.Function("f1")); p0.AddFunction(new VO.Login.Function("f2")); var p1 = new Profile("profile1"); p1.AddFunction(null); p1.AddFunction(new VO.Login.Function("f12")); p1.AddFunction(new VO.Login.Function("f22")); 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 criteriaQuery = odb.Query<VO.Login.Function>(); criteriaQuery.Descend("name").Constrain((object) "f2").Equal(); var f2bis = criteriaQuery.Execute<VO.Login.Function>().GetFirst(); var query = odb.Query<User>(); query.Descend("profile.functions").Constrain(f2bis).Contains(); var l = query.Execute<User>(); AssertEquals(1, l.Count()); user = l.GetFirst(); AssertEquals("The user", user.GetName()); odb.Close(); }
public virtual void TestDeleteListElements() { var baseName = GetBaseName(); DeleteBase(baseName); var odb = Open(baseName); var p = new Profile("name"); p.AddFunction(new VO.Login.Function("f1")); p.AddFunction(new VO.Login.Function("f2")); p.AddFunction(new VO.Login.Function("3")); odb.Store(p); odb.Close(); odb = Open(baseName); var query = odb.Query<Profile>(); var objects = query.Execute<Profile>(); while (objects.HasNext()) { var profile = objects.Next(); var functions = profile.GetFunctions(); for (var j = 0; j < functions.Count; j++) odb.Delete(functions[j]); odb.Delete(profile); } odb.Close(); }
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()); }
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 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 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(); }
private object GetInstance(string @string) { if (simpleObject) return new VO.Login.Function(@string); var p = new Profile(@string); p.AddFunction(new VO.Login.Function("function " + @string + "1")); p.AddFunction(new VO.Login.Function("function " + @string + "2")); return new User(@string, "email" + @string, p); }