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 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 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 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 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 Test13() { 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("function3"); odb.Store(f1); odb.Store(f2); odb.Store(f3); var idf1 = odb.GetObjectId(f1); var idf2 = odb.GetObjectId(f2); var idf3 = odb.GetObjectId(f3); var storageEngine = ((global::NDatabase.Odb)odb).GetStorageEngine(); var p1 = storageEngine.GetObjectReader().GetObjectPositionFromItsOid(idf1, true, false); var p2 = storageEngine.GetObjectReader().GetObjectPositionFromItsOid(idf2, true, false); var p3 = storageEngine.GetObjectReader().GetObjectPositionFromItsOid(idf3, true, false); odb.Close(); try { odb = Open(baseName); f1 = (VO.Login.Function)odb.GetObjectFromId(idf1); f2 = (VO.Login.Function)odb.GetObjectFromId(idf2); f3 = (VO.Login.Function)odb.GetObjectFromId(idf3); odb.Delete(f3); odb.Delete(f2); odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); var l = query.Execute <VO.Login.Function>(); odb.Close(); AssertEquals(1, l.Count); } catch (OdbRuntimeException) { DeleteBase(baseName); throw; } DeleteBase(baseName); }
public void DeleteMessage(ISmtp4devMessage message) { lock (_syncRoot) { _database.Delete(message); _database.Commit(); } MessageDeleted?.Invoke(this, new Smtp4devMessageEventArgs(message)); }
public virtual void Test14() { 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"); var f4 = new VO.Login.Function("function4"); var f5 = new VO.Login.Function("function5"); odb.Store(f1); odb.Store(f2); odb.Store(f3); odb.Store(f4); odb.Store(f5); AssertEquals(5, odb.Query <VO.Login.Function>().Count()); odb.Close(); try { odb = Open(baseName); var f6 = new VO.Login.Function("function6"); var f7 = new VO.Login.Function("function7"); odb.Store(f6); odb.Store(f7); AssertEquals(7, odb.Query <VO.Login.Function>().Count()); var query = odb.Query <VO.Login.Function>(); var objects = query.Execute <VO.Login.Function>(); var i = 0; while (objects.HasNext() && i < 4) { odb.Delete <VO.Login.Function>(objects.Next()); i++; } AssertEquals(3, odb.Query <VO.Login.Function>().Count()); odb.Close(); odb = Open(baseName); AssertEquals(3, odb.Query <VO.Login.Function>().Count()); var query1 = odb.Query <VO.Login.Function>(); objects = query1.Execute <VO.Login.Function>(); // println(objects); AssertEquals((string)"function5", (string)(objects.Next()).GetName()); AssertEquals((string)"function6", (string)(objects.Next()).GetName()); AssertEquals((string)"function7", (string)(objects.Next()).GetName()); odb.Close(); } catch (OdbRuntimeException) { DeleteBase(baseName); throw; } DeleteBase(baseName); }
internal void DeleteCommandState(int userId, int chatId) { CommandState commandState = GetCommandState(userId, chatId); if (commandState == null) { return; } IOdb db = GetOdb(); db.Delete(commandState); }
public virtual void Test5() { IOdb odb = null; var baseName = GetBaseName(); odb = Open(baseName); var f = new VO.Login.Function("function1"); odb.Store(f); var id = odb.GetObjectId(f); try { odb.Delete(f); var id2 = odb.GetObjectId(f); Fail("The object has been deleted, the id should have been marked as deleted"); } catch (OdbRuntimeException) { odb.Close(); DeleteBase(baseName); } }
public virtual void Test8() { var size1 = 10; var size2 = 100; var baseName = GetBaseName(); IOdb odb = null; IObjectSet <VO.Login.Function> os = null; for (var i = 0; i < size1; i++) { odb = Open(baseName); for (var j = 0; j < size2; j++) { var f = new VO.Login.Function("function " + j); odb.Store(f); } odb.Close(); odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); os = query.Execute <VO.Login.Function>(); while (os.HasNext()) { var f = os.Next(); odb.Delete(f); } odb.Close(); if (i % 100 == 0) { Println(i + "/" + size1); } } odb = Open(baseName); var query2 = odb.Query <VO.Login.Function>(); os = query2.Execute <VO.Login.Function>(); AssertEquals(0, os.Count); odb.Close(); Println("step2"); for (var i = 0; i < size1; i++) { odb = Open(baseName); var query = odb.Query <VO.Login.Function>(); os = query.Execute <VO.Login.Function>(); while (os.HasNext()) { var f = os.Next(); odb.Delete(f); } odb.Close(); odb = Open(baseName); for (var j = 0; j < size2; j++) { var f = new VO.Login.Function("function " + j); odb.Store(f); } odb.Close(); if (i % 100 == 0) { Println(i + "/" + size1); } } odb = Open(baseName); var query1 = odb.Query <VO.Login.Function>(); os = query1.Execute <VO.Login.Function>(); AssertEquals(size2, os.Count); odb.Close(); DeleteBase(baseName); }
public virtual void T1estInsertSimpleObjectODB(int size) { OdbFileName = "perf-" + size + ".ndb"; TestSize = size; var doUpdate = true; var doDelete = true; var inMemory = true; // Deletes the database file DeleteBase(OdbFileName); long t1 = 0; long t2 = 0; long t3 = 0; long t4 = 0; long t5 = 0; long t6 = 0; long t7 = 0; long t77 = 0; long t8 = 0; IOdb odb = null; IObjectSet <SimpleObject> l = null; SimpleObject so = null; // Insert TEST_SIZE objects Println("Inserting " + TestSize + " objects"); t1 = OdbTime.GetCurrentTimeInMs(); odb = Open(OdbFileName); var fields = new[] { "name" }; odb.IndexManagerFor <SimpleObject>().AddUniqueIndexOn("index1", fields); for (var i = 0; i < TestSize; i++) { object o = GetSimpleObjectInstance(i); odb.Store(o); } // println("Cache="+Dummy.getEngine(odb).getSession().getCache().toString()); t2 = OdbTime.GetCurrentTimeInMs(); // Closes the database odb.Close(); // if(true)return; t3 = OdbTime.GetCurrentTimeInMs(); Println("Retrieving " + TestSize + " objects"); // Reopen the database odb = Open(OdbFileName); // Gets the TEST_SIZE objects t4 = OdbTime.GetCurrentTimeInMs(); IQuery q = null; for (var j = 0; j < TestSize; j++) { // println("Bonjour, comment allez vous?" + j); q = odb.Query <SimpleObject>(); q.Descend("name").Constrain((object)("Bonjour, comment allez vous?" + j)).Equal(); var objects = q.Execute <SimpleObject>(); so = objects.GetFirst(); if (!so.GetName().Equals("Bonjour, comment allez vous?" + j)) { throw new Exception("error while getting object : expected = " + "Bonjour, comment allez vous?" + j + " / actual = " + so.GetName()); } if (j % 1000 == 0) { Println("got " + j + " objects"); } } t5 = OdbTime.GetCurrentTimeInMs(); odb.Close(); odb = Open(OdbFileName); if (doUpdate) { Println("Updating " + TestSize + " objects"); so = null; var query = odb.Query <SimpleObject>(); l = query.Execute <SimpleObject>(inMemory); while (l.HasNext()) { so = l.Next(); so.SetName(so.GetName().ToUpper()); odb.Store(so); } } t6 = OdbTime.GetCurrentTimeInMs(); odb.Close(); // if(true)return; t7 = OdbTime.GetCurrentTimeInMs(); if (doDelete) { Println("Deleting " + TestSize + " objects"); odb = Open(OdbFileName); Println("After open - before delete"); var query = odb.Query <SimpleObject>(); l = query.Execute <SimpleObject>(inMemory); t77 = OdbTime.GetCurrentTimeInMs(); Println("After getting objects - before delete"); var i = 0; while (l.HasNext()) { so = l.Next(); if (!so.GetName().StartsWith("BONJOUR")) { throw new Exception("Update not ok for " + so.GetName()); } odb.Delete(so); if (i % 10000 == 0) { Println("s=" + i); } // println("Cache="+Dummy.getEngine(odb).getSession().getCache().toString()); i++; } odb.Close(); } t8 = OdbTime.GetCurrentTimeInMs(); // t4 2 times DisplayResult("ODB " + TestSize + " SimpleObject objects ", t1, t2, t4, t4, t5, t6, t7, t77, t8); }
public virtual void TestInsertSimpleObjectODB() { //OdbConfiguration.setReconnectObjectsToSession(false); // Thread.sleep(20000); var doUpdate = true; var doDelete = true; // Configuration.setDatabaseCharacterEncoding(null); // LogUtil.logOn(FileSystemInterface.LOG_ID,true); // LogUtil.logOn(ObjectReader.LOG_ID,true); // Configuration.setUseLazyCache(true); var inMemory = true; // Configuration.monitorMemory(true); // Configuration.setUseModifiedClass(true); // Deletes the database file DeleteBase(OdbFileName); long t1 = 0; long t2 = 0; long t3 = 0; long t4 = 0; long t5 = 0; long t6 = 0; long t7 = 0; long t77 = 0; long t8 = 0; IOdb odb = null; IObjectSet <SimpleObject> l = null; SimpleObject so = null; // Insert TEST_SIZE objects Println("Inserting " + TestSize + " objects"); t1 = OdbTime.GetCurrentTimeInMs(); odb = Open(OdbFileName); var i = 0; // odb.getClassRepresentation(SimpleObject.class).addFullInstantiationHelper(new // SimpleObjectFullInstantiationHelper()); for (i = 0; i < TestSize; i++) { object o = GetSimpleObjectInstance(i); odb.Store(o); if (i % 10000 == 0) { } } // println("i="+i); // Monitor.displayCurrentMemory(""+i,true); // println("Cache="+Dummy.getEngine(odb).getSession().getCache().toString()); t2 = OdbTime.GetCurrentTimeInMs(); // Closes the database odb.Close(); // if(true)return; t3 = OdbTime.GetCurrentTimeInMs(); Println("Retrieving " + TestSize + " objects"); // Reopen the database odb = Open(OdbFileName); // Gets the TEST_SIZE objects var query = odb.Query <SimpleObject>(); l = query.Execute <SimpleObject>(inMemory); t4 = OdbTime.GetCurrentTimeInMs(); i = 0; while (l.HasNext()) { object o = l.Next(); if (i % 10000 == 0) { } // Monitor.displayCurrentMemory("select "+i,true); i++; } t5 = OdbTime.GetCurrentTimeInMs(); if (doUpdate) { Println("Updating " + TestSize + " objects"); i = 0; so = null; l.Reset(); while (l.HasNext()) { so = l.Next(); so.SetName(so.GetName() + " updated"); odb.Store(so); if (i % 10000 == 0) { } // Monitor.displayCurrentMemory(""+i); i++; } } t6 = OdbTime.GetCurrentTimeInMs(); odb.Close(); t7 = OdbTime.GetCurrentTimeInMs(); if (doDelete) { Println("Deleting " + TestSize + " objects"); odb = Open(OdbFileName); var query1 = odb.Query <SimpleObject>(); l = query1.Execute <SimpleObject>(inMemory); t77 = OdbTime.GetCurrentTimeInTicks(); // println("After getting objects - before delete"); i = 0; while (l.HasNext()) { so = l.Next(); if (!so.GetName().EndsWith("updated")) { throw new Exception("Update not ok for " + so.GetName()); } odb.Delete(so); if (i % 10000 == 0) { } // println("s="+i); i++; } odb.Close(); } t8 = OdbTime.GetCurrentTimeInMs(); Thread.Sleep(500); DisplayResult("ODB " + TestSize + " SimpleObject objects ", t1, t2, t3, t4, t5, t6, t7, t77, t8); }
public virtual void TestInsertSimpleObjectODB() { var inMemory = true; // Deletes the database file OdbFactory.Delete(OdbFileName); long t1 = 0; long t2 = 0; long t3 = 0; long t4 = 0; long t5 = 0; long t6 = 0; long t7 = 0; long t77 = 0; long t8 = 0; IOdb odb = null; IObjectSet <User> l = null; User so = null; // Insert TEST_SIZE objects Console.Out.WriteLine("Inserting " + TestSize + " objects"); t1 = OdbTime.GetCurrentTimeInTicks(); odb = OdbFactory.Open(OdbFileName); for (var i = 0; i < TestSize; i++) { var o = GetUserInstance(i); odb.Store(o); } t2 = OdbTime.GetCurrentTimeInTicks(); // Closes the database odb.Close(); t3 = OdbTime.GetCurrentTimeInTicks(); Console.Out.WriteLine("Retrieving " + TestSize + " objects"); // Reopen the database odb = OdbFactory.Open(OdbFileName); // Gets retrieve the TEST_SIZE objects var query = odb.Query <User>(); l = query.Execute <User>(inMemory); t4 = OdbTime.GetCurrentTimeInTicks(); // Actually get objects while (l.HasNext()) { object o = l.Next(); } t5 = OdbTime.GetCurrentTimeInTicks(); Console.Out.WriteLine("Updating " + TestSize + " objects"); so = null; l.Reset(); // Actually get objects while (l.HasNext()) { so = l.Next(); // so.setName(so.getName() + " updated"); // so.setName(so.getName() + " updated-updated-updated-updated"); so.GetProfile().SetName(so.GetName() + " updated-updated-updated"); odb.Store(so); } t6 = OdbTime.GetCurrentTimeInTicks(); odb.Close(); t7 = OdbTime.GetCurrentTimeInTicks(); Console.Out.WriteLine("Deleting " + TestSize + " objects"); odb = OdbFactory.Open(OdbFileName); var query1 = odb.Query <User>(); l = query1.Execute <User>(inMemory); t77 = OdbTime.GetCurrentTimeInTicks(); // Actually get objects while (l.HasNext()) { so = l.Next(); odb.Delete(so); } odb.Close(); t8 = OdbTime.GetCurrentTimeInTicks(); odb = OdbFactory.Open(OdbFileName); odb.Close(); DisplayResult("ODB " + TestSize + " User objects ", t1, t2, t3, t4, t5, t6, t7, t77, t8); }
public virtual void TestInsertSimpleObjectODB() { DeleteBase(OdbFileName); long t1 = 0; long t2 = 0; long t3 = 0; long t4 = 0; long t5 = 0; long t6 = 0; long t7 = 0; long t77 = 0; long t8 = 0; IOdb odb = null; IObjectSet <SimpleObject> l = null; SimpleObject so = null; t1 = OdbTime.GetCurrentTimeInTicks(); odb = Open(OdbFileName); for (var i = 0; i < TestSize; i++) { object o = GetSimpleObjectInstance(i); odb.Store(o); if (i % 20000 == 0) { Console.Out.Write("."); Println("After insert=" + ((global::NDatabase.Odb)odb).GetStorageEngine().GetSession().GetCache().ToString()); } } // var engine = ((global::NDatabase.Odb)odb).GetStorageEngine(); // println("NB WA="+WriteAction.count); Println("NB WAs=" + engine.GetSession().GetTransaction().GetNumberOfWriteActions()); t2 = OdbTime.GetCurrentTimeInTicks(); odb.Commit(); Println("after commit : NB WAs=" + engine.GetSession().GetTransaction().GetNumberOfWriteActions()); // if(true)return; // println("After commit="+Dummy.getEngine(odb).getSession().getCache().toString()); // println("NB WA="+WriteAction.count); t3 = OdbTime.GetCurrentTimeInTicks(); // println("end of insert"); var query = odb.Query <SimpleObject>(); l = query.Execute <SimpleObject>(false); // println("end of getObjects "); t4 = OdbTime.GetCurrentTimeInTicks(); // println("After getObjects ="+Dummy.getEngine(odb).getSession().getCache().toString()); // println("NB WA="+WriteAction.count); Println("after select : NB WAs=" + engine.GetSession().GetTransaction().GetNumberOfWriteActions()); var nbObjects = l.Count; Println(nbObjects + " objects "); var k = 0; while (l.HasNext()) { object o = l.Next(); if (k % 9999 == 0) { Println(((SimpleObject)o).GetName()); } k++; } // println("end of real get "); t5 = OdbTime.GetCurrentTimeInTicks(); Println("select " + (t5 - t3) + " - " + (t5 - t4)); so = null; k = 0; l.Reset(); while (l.HasNext()) { so = l.Next(); so.SetName(so.GetName() + " updated"); odb.Store(so); if (k % 10000 == 0) { Println("update " + k); Println("after update : NB WAs=" + engine.GetSession().GetTransaction().GetNumberOfWriteActions()); Println("After update=" + ((global::NDatabase.Odb)odb).GetStorageEngine().GetSession().GetCache().ToString()); } k++; } Println("after update : NB WAs=" + engine.GetSession().GetTransaction().GetNumberOfWriteActions()); t6 = OdbTime.GetCurrentTimeInTicks(); odb.Close(); t7 = OdbTime.GetCurrentTimeInTicks(); odb = Open(OdbFileName); var query1 = odb.Query <SimpleObject>(); l = query1.Execute <SimpleObject>(false); t77 = OdbTime.GetCurrentTimeInTicks(); var j = 0; while (l.HasNext()) { so = l.Next(); AssertTrue(so.GetName().EndsWith("updated")); odb.Delete(so); if (j % 10000 == 0) { Println("delete " + j); } j++; } odb.Close(); t8 = OdbTime.GetCurrentTimeInTicks(); odb = Open(OdbFileName); var query2 = odb.Query <SimpleObject>(); AssertEquals(0, query2.Execute <SimpleObject>().Count); odb.Close(); DisplayResult("ODB " + TestSize + " SimpleObject objects ", t1, t2, t3, t4, t5, t6, t7, t77, t8); }
public void Remove(object item) { _db.Delete(item); }
/// <summary> /// Deletes the specified <see cref="Recipe"/> from the database. /// </summary> /// <param name="recipe">The recipe.</param> public void DeleteRecipe(Recipe recipe) { _odb.Delete(recipe); }
public void Delete <T>(T value) where T : class, IDbObject { _odb.Delete(value); }