public virtual void Test10() { NeoDatis.Odb.ODB odb = null; try { odb = Open("inplcae-transaction"); NeoDatis.Odb.OID oid = odb.Store(new Function("function1" )); odb.Close(); odb = Open("inplcae-transaction"); Function f = (Function)odb. GetObjectFromId(oid); f.SetName("function2"); odb.Store(f); odb.Rollback(); odb.Close(); odb = Open("inplcae-transaction"); f = (Function)odb.GetObjectFromId(oid); odb.Close(); AssertEquals("function1", f.GetName()); } catch (System.Exception) { } }
public virtual void Test1() { DeleteBase("getid.neodatis"); NeoDatis.Odb.Test.VO.Login.Function function1 = new NeoDatis.Odb.Test.VO.Login.Function ("f1"); NeoDatis.Odb.Test.VO.Login.Function function2 = new NeoDatis.Odb.Test.VO.Login.Function ("f2"); NeoDatis.Odb.ODB odb = Open("getid.neodatis"); odb.Store(function1); odb.Store(function2); NeoDatis.Odb.OID id1 = odb.GetObjectId(function1); NeoDatis.Odb.OID id2 = odb.GetObjectId(function2); odb.Close(); odb = Open("getid.neodatis"); NeoDatis.Odb.Test.VO.Login.Function function1bis = (NeoDatis.Odb.Test.VO.Login.Function )odb.GetObjectFromId(id1); AssertEquals(function1.GetName(), function1bis.GetName()); NeoDatis.Odb.Test.VO.Login.Function function2bis = (NeoDatis.Odb.Test.VO.Login.Function )odb.GetObjectFromId(id2); function2bis.SetName("function 2"); odb.Store(function2bis); NeoDatis.Odb.OID id2bis = odb.GetObjectId(function2bis); odb.Close(); odb = Open("getid.neodatis"); NeoDatis.Odb.Test.VO.Login.Function function2ter = (NeoDatis.Odb.Test.VO.Login.Function )odb.GetObjectFromId(id2); AssertEquals("function 2", function2ter.GetName()); odb.Close(); DeleteBase("getid.neodatis"); }
public virtual void Test13() { if (!isLocal) { return; } string baseName = GetBaseName(); NeoDatis.Odb.ODB odb = null; DeleteBase(baseName); odb = Open(baseName); Function f1 = new Function( "function1"); Function f2 = new Function( "function2"); Function f3 = new Function( "function3"); odb.Store(f1); odb.Store(f2); odb.Store(f3); NeoDatis.Odb.OID idf1 = odb.GetObjectId(f1); NeoDatis.Odb.OID idf2 = odb.GetObjectId(f2); NeoDatis.Odb.OID idf3 = odb.GetObjectId(f3); long p1 = NeoDatis.Odb.Impl.Core.Layers.Layer3.Engine.Dummy.GetEngine(odb).GetObjectReader ().GetObjectPositionFromItsOid(idf1, true, false); long p2 = NeoDatis.Odb.Impl.Core.Layers.Layer3.Engine.Dummy.GetEngine(odb).GetObjectReader ().GetObjectPositionFromItsOid(idf2, true, false); long p3 = NeoDatis.Odb.Impl.Core.Layers.Layer3.Engine.Dummy.GetEngine(odb).GetObjectReader ().GetObjectPositionFromItsOid(idf3, true, false); odb.Close(); try { odb = Open(baseName); f1 = (Function)odb.GetObjectFromId(idf1); f2 = (Function)odb.GetObjectFromId(idf2); f3 = (Function)odb.GetObjectFromId(idf3); odb.Delete(f3); odb.Delete(f2); odb.Close(); odb = Open(baseName); NeoDatis.Odb.Objects <Function> l = odb.GetObjects <Function>(); odb.Close(); AssertEquals(1, l.Count); } catch (NeoDatis.Odb.ODBRuntimeException e) { DeleteBase(baseName); throw; } DeleteBase(baseName); }
public virtual void Test9() { string baseName = GetBaseName(); NeoDatis.Odb.ODB odb = null; odb = Open(baseName); Function f1 = new Function( "function1"); Function f2 = new Function( "function2"); Function f3 = new Function( "function3"); odb.Store(f1); odb.Store(f2); odb.Store(f3); NeoDatis.Odb.OID id = odb.GetObjectId(f3); odb.Close(); odb = Open(baseName); Function f3bis = (Function) odb.GetObjectFromId(id); odb.Delete(f3bis); odb.Close(); odb = Open(baseName); odb.Store(new Function("last function")); odb.Close(); odb = Open(baseName); NeoDatis.Odb.Objects <Function> l = odb.GetObjects <Function>(); odb.Close(); AssertEquals(3, l.Count); }
public virtual void Test1() { if (!isLocal && !testNewFeature) { return; } NeoDatis.Odb.ODB odb = null; string baseName = GetBaseName(); DeleteBase(baseName); NeoDatis.Odb.Test.Trigger.MyTriggerBefore myTrigger = new NeoDatis.Odb.Test.Trigger.MyTriggerBefore (); try { odb = Open(baseName); odb.AddInsertTrigger(typeof(NeoDatis.Odb.Test.Trigger.SimpleObject), myTrigger); NeoDatis.Odb.Test.Trigger.SimpleObject so = new NeoDatis.Odb.Test.Trigger.SimpleObject (5); NeoDatis.Odb.OID oid = odb.Store(so); AssertEquals(6, so.GetId()); odb.Close(); odb = Open(baseName); NeoDatis.Odb.Test.Trigger.SimpleObject so2 = (NeoDatis.Odb.Test.Trigger.SimpleObject )odb.GetObjectFromId(oid); AssertEquals(6, so2.GetId()); } finally { if (odb != null) { odb.Close(); } } DeleteBase(baseName); }
public virtual void TestAndy1() { NeoDatis.Odb.ODB odb = Open("test-oid"); NeoDatis.Odb.Test.Oid.B b1 = new NeoDatis.Odb.Test.Oid.B("b"); NeoDatis.Odb.Test.Oid.A a1 = new NeoDatis.Odb.Test.Oid.A("a", b1); odb.Store(a1); NeoDatis.Odb.OID oida = odb.GetObjectId(a1); NeoDatis.Odb.OID oidb = odb.GetObjectId(b1); odb.Close(); odb = Open("test-oid"); NeoDatis.Odb.Test.Oid.A a2 = (NeoDatis.Odb.Test.Oid.A)odb.GetObjectFromId(oida); NeoDatis.Odb.Test.Oid.B b2 = (NeoDatis.Odb.Test.Oid.B)odb.GetObjectFromId(oidb); odb.Close(); AssertNotNull(a2); AssertNotNull(b2); AssertNotNull(a2.GetB()); }
public virtual void TestAndy2() { // LogUtil.allOn(true); NeoDatis.Odb.ODB odb = Open("test-oid"); NeoDatis.Odb.Test.Oid.B b1 = new NeoDatis.Odb.Test.Oid.B("b"); NeoDatis.Odb.Test.Oid.A a1 = new NeoDatis.Odb.Test.Oid.A("a", b1); odb.Store(a1); long oida = ((NeoDatis.Odb.OID)odb.GetObjectId(a1)).GetObjectId(); long oidb = ((NeoDatis.Odb.OID)odb.GetObjectId(b1)).GetObjectId(); odb.Close(); odb = Open("test-oid"); NeoDatis.Odb.Test.Oid.A a2 = (NeoDatis.Odb.Test.Oid.A)odb.GetObjectFromId(new NeoDatis.Odb.Impl.Core.Oid.OdbObjectOID (oida)); NeoDatis.Odb.Test.Oid.B b2 = (NeoDatis.Odb.Test.Oid.B)odb.GetObjectFromId(new NeoDatis.Odb.Impl.Core.Oid.OdbObjectOID (oidb)); odb.Close(); AssertNotNull(a2); AssertNotNull(b2); AssertNotNull(a2.GetB()); }
public virtual void TestAndy3() { NeoDatis.Odb.ODB odb = Open("test-oid"); try { NeoDatis.Odb.Test.Oid.A a2 = (NeoDatis.Odb.Test.Oid.A)odb.GetObjectFromId(new NeoDatis.Odb.Impl.Core.Oid.OdbObjectOID (34)); Fail("Should have thrown Exception"); } catch (System.Exception) { } }
/// <exception cref="System.Exception"></exception> public virtual void T1estK1() { test.DeleteBase("acid1"); NeoDatis.Odb.ODB odb = test.Open("acid1"); odb.Store(GetInstance("f1")); odb.Store(GetInstance("f2")); NeoDatis.Odb.OID oid = odb.Store(GetInstance("f3")); odb.Commit(); object o = odb.GetObjectFromId(oid); odb.Delete(o); odb.Rollback(); }
public virtual void Test5() { DeleteBase("getid.neodatis"); NeoDatis.Odb.Test.VO.Login.Function function1 = new NeoDatis.Odb.Test.VO.Login.Function ("f1"); NeoDatis.Odb.Test.VO.Login.Function function2 = new NeoDatis.Odb.Test.VO.Login.Function ("f2"); NeoDatis.Odb.ODB odb = Open("getid.neodatis"); odb.Store(function1); odb.Store(function2); NeoDatis.Odb.OID id1 = odb.GetObjectId(function1); NeoDatis.Odb.OID id2 = odb.GetObjectId(function2); odb.Close(); odb = Open("getid.neodatis"); long t1 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); NeoDatis.Odb.Test.VO.Login.Function function1bis = (NeoDatis.Odb.Test.VO.Login.Function )odb.GetObjectFromId(id1); NeoDatis.Odb.Test.VO.Login.Function function2bis = (NeoDatis.Odb.Test.VO.Login.Function )odb.GetObjectFromId(id2); long t2 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); odb.Close(); DeleteBase("getid.neodatis"); AssertEquals(function1.GetName(), function1bis.GetName()); AssertEquals(function2.GetName(), function2bis.GetName()); long time = t2 - t1; Println(time); long acceptableTime = isLocal ? 1 : 17; if (time > acceptableTime) { // ms Fail("Getting two objects by oid lasted more than " + acceptableTime + "ms : " + time); } }
/// <exception cref="System.Exception"></exception> public virtual void Test1() { DeleteBase("test-object-with-oid"); NeoDatis.Odb.ODB odb = Open("test-object-with-oid"); NeoDatis.Odb.Test.Other.ObjectWithOid o = new NeoDatis.Odb.Test.Other.ObjectWithOid ("15", "test"); NeoDatis.Odb.OID oid = odb.Store(o); odb.Close(); odb = Open("test-object-with-oid"); NeoDatis.Odb.Test.Other.ObjectWithOid o2 = (NeoDatis.Odb.Test.Other.ObjectWithOid )odb.GetObjectFromId(oid); odb.Close(); AssertEquals(o.GetOid(), o2.GetOid()); AssertEquals(o.GetName(), o2.GetName()); }
/// <exception cref="System.Exception"></exception> public virtual void Test1() { DeleteBase("test-nested"); NeoDatis.Odb.ODB odb = Open("test-nested"); NeoDatis.Odb.Test.Intropector.Class1 c1 = new NeoDatis.Odb.Test.Intropector.Class1 ("name1", "name2", "name3"); NeoDatis.Odb.OID oid = odb.Store(c1); odb.Close(); odb = Open("test-nested"); NeoDatis.Odb.Test.Intropector.Class1 c11 = (NeoDatis.Odb.Test.Intropector.Class1) odb.GetObjectFromId(oid); AssertEquals(c1.GetName1(), c11.GetName1()); AssertEquals(c1.GetClass2().GetClass3().GetName3(), c11.GetClass2().GetClass3().GetName3 ()); }
public virtual void TestGetOIDThatDoesNotExist() { DeleteBase("getid.neodatis"); NeoDatis.Odb.Test.VO.Login.Function function2 = new NeoDatis.Odb.Test.VO.Login.Function ("f2"); NeoDatis.Odb.ODB odb = Open("getid.neodatis"); NeoDatis.Odb.OID oid = NeoDatis.Odb.Core.Oid.OIDFactory.BuildObjectOID(49); try { object o = odb.GetObjectFromId(oid); } catch (System.Exception e) { odb.Close(); AssertFalse(e.Message.IndexOf(" does not exist in the database") == -1); } }
/// <exception cref="System.Exception"></exception> public virtual void T1estH1() { test.DeleteBase("acid1"); NeoDatis.Odb.ODB odb = test.Open("acid1"); int size = 1000; NeoDatis.Odb.OID[] oids = new NeoDatis.Odb.OID[size]; for (int i = 0; i < size; i++) { oids[i] = odb.Store(GetInstance("f" + i)); if (simpleObject) { NeoDatis.Odb.Test.VO.Login.Function f = (NeoDatis.Odb.Test.VO.Login.Function)odb. GetObjectFromId(oids[i]); f.SetName("function " + i); odb.Store(f); odb.Delete(f); oids[i] = odb.Store(f); odb.Delete(f); oids[i] = odb.Store(f); odb.Delete(f); oids[i] = odb.Store(f); } else { NeoDatis.Odb.Test.VO.Login.User f = (NeoDatis.Odb.Test.VO.Login.User)odb.GetObjectFromId (oids[i]); f.SetName("function " + i); odb.Store(f); odb.Delete(f); oids[i] = odb.Store(f); odb.Delete(f); oids[i] = odb.Store(f); odb.Delete(f); oids[i] = odb.Store(f); } } for (int i = 0; i < size; i++) { object o = odb.GetObjectFromId(oids[i]); odb.Delete(o); } }
public virtual void Test7() { DeleteBase("getid.neodatis"); int size = isLocal ? 10001 : 1000; NeoDatis.Odb.ODB odb = Open("getid.neodatis"); NeoDatis.Odb.OID[] oids = new NeoDatis.Odb.OID[size]; for (int i = 0; i < size; i++) { oids[i] = odb.Store(GetInstance(i)); } odb.Close(); odb = Open("getid.neodatis"); long t1 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); for (int i = 0; i < size; i++) { NeoDatis.Odb.Test.VO.Login.User u = (NeoDatis.Odb.Test.VO.Login.User)odb.GetObjectFromId (oids[i]); AssertEquals("kiko" + i, u.GetName()); } long t2 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); odb.Close(); DeleteBase("getid.neodatis"); long time = t2 - t1; double timeForEachGet = (double)time / (double)size; double acceptableTime = isLocal ? 0.086 : 1.6; // 0.1561843815618438 Println("time for each get = " + timeForEachGet + " - Total time for " + size + " objects = " + time); if (testPerformance && timeForEachGet > acceptableTime) { // ms Println("time for each get = " + timeForEachGet + " - Total time for " + size + " objects = " + time); Fail("Getting " + size + " complex objects by oid lasted more than " + acceptableTime + "ms : " + timeForEachGet); } }
/// <exception cref="System.IO.IOException"></exception> /// <exception cref="System.Exception"></exception> public virtual void Test2() { DeleteBase("valuesSubList2"); NeoDatis.Odb.ODB odb = Open("valuesSubList2"); NeoDatis.Odb.Test.Query.Values.Handler handler = new NeoDatis.Odb.Test.Query.Values.Handler (); for (int i = 0; i < 500; i++) { handler.AddParameter(new NeoDatis.Odb.Test.Query.Values.Parameter("test " + i, "value " + i)); } NeoDatis.Odb.OID oid = odb.Store(handler); odb.Close(); odb = Open("valuesSubList2"); NeoDatis.Odb.Test.Query.Values.Handler h = (NeoDatis.Odb.Test.Query.Values.Handler )odb.GetObjectFromId(oid); Println("size of list = " + h.GetListOfParameters().Count); long start = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); NeoDatis.Odb.Values values = odb.GetValues(new NeoDatis.Odb.Impl.Core.Query.Values.ValuesCriteriaQuery (typeof(NeoDatis.Odb.Test.Query.Values.Handler)).Sublist("parameters", "sub", 490 , 5, true).Size("parameters", "size")); long end = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); Println("time to load sublist of 5 itens from 40000 : " + (end - start)); Println(values); NeoDatis.Odb.ObjectValues ov = values.NextValues(); System.Collections.IList sublist = (System.Collections.IList)ov.GetByAlias("sub"); AssertEquals(5, sublist.Count); long size = (long)ov.GetByAlias("size"); AssertEquals(500, size); NeoDatis.Odb.Test.Query.Values.Parameter p = (NeoDatis.Odb.Test.Query.Values.Parameter )sublist[0]; AssertEquals("value 490", p.GetValue()); NeoDatis.Odb.Test.Query.Values.Parameter p2 = (NeoDatis.Odb.Test.Query.Values.Parameter )sublist[4]; AssertEquals("value 494", p2.GetValue()); odb.Close(); }
/// <exception cref="System.Exception"></exception> public virtual void Test6() { NeoDatis.Odb.ODB odb = null; string baseName = GetBaseName(); odb = Open(baseName); NeoDatis.Odb.Test.VO.Login.Function f = new NeoDatis.Odb.Test.VO.Login.Function("function1" ); odb.Store(f); NeoDatis.Odb.OID id = odb.GetObjectId(f); odb.Commit(); try { odb.Delete(f); odb.GetObjectFromId(id); Fail("The object has been deleted, the id should have been marked as deleted"); } catch (NeoDatis.Odb.ODBRuntimeException) { odb.Close(); DeleteBase("t-delete1.neodatis"); } }
public virtual void Test7() { string baseName = GetBaseName(); NeoDatis.Odb.ODB odb = null; odb = Open(baseName); Function f1 = new Function( "function1"); Function f2 = new Function( "function2"); Function f3 = new Function( "function3"); odb.Store(f1); odb.Store(f2); odb.Store(f3); NeoDatis.Odb.OID id = odb.GetObjectId(f3); odb.Close(); try { odb = Open(baseName); Function f3bis = (Function) odb.GetObjectFromId(id); odb.Delete(f3bis); odb.Close(); odb = Open(baseName); NeoDatis.Odb.Objects <Function> l = odb.GetObjects <Function>(); odb.Close(); AssertEquals(2, l.Count); } catch (NeoDatis.Odb.ODBRuntimeException) { odb.Close(); DeleteBase(baseName); } }
/// <exception cref="System.Exception"></exception> public virtual void T1estL1() { test.DeleteBase("acid1"); NeoDatis.Odb.ODB odb = test.Open("acid1"); odb.Store(GetInstance("f1")); odb.Store(GetInstance("f2")); NeoDatis.Odb.OID oid = odb.Store(GetInstance("f3")); odb.Commit(); object o = odb.GetObjectFromId(oid); if (simpleObject) { NeoDatis.Odb.Test.VO.Login.Function f = (NeoDatis.Odb.Test.VO.Login.Function)o; f.SetName("flksjdfjs;dfsljflsjflksjfksjfklsdjfksjfkalsjfklsdjflskd"); odb.Store(f); } else { NeoDatis.Odb.Test.VO.Login.User f = (NeoDatis.Odb.Test.VO.Login.User)o; f.SetName("flksjdfjs;dfsljflsjflksjfksjfklsdjfksjfkalsjfklsdjflskd"); odb.Store(f); } odb.Rollback(); }
/// <exception cref="System.Exception"></exception> public virtual void TestObjectVersionWithoutClose() { DeleteBase("extd"); NeoDatis.Odb.ODB odb = Open("extd"); int size = 1000; long updateDate = 0; long creationDate = 0; NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f")); odb.Close(); odb = Open("extd"); Java.Lang.Thread.Sleep(100); for (int i = 0; i < size; i++) { // odb = open("ext"); NeoDatis.Odb.Test.VO.Login.Function f = (NeoDatis.Odb.Test.VO.Login.Function)odb. GetObjectFromId(oid); int version = odb.Ext().GetObjectVersion(oid); // System.out.println("i="+i + " - v="+ version+ " - oid="+oid); AssertEquals(i + 1, version); f.SetName("f" + i); // update the object, should increase the version number odb.Store(f); odb.Commit(); } odb.Close(); }
/// <exception cref="System.Exception"></exception> public virtual void TestConcurrentObjectVersion3() { if (isLocal || (useSameVmOptimization && !testNewFeature)) { return; } // LogUtil.allOn(true); DeleteBase("exta1"); NeoDatis.Odb.ODB odb = Open("exta1"); NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f1")); int version = odb.Ext().GetObjectVersion(oid); Println(version); odb.Close(); int nbThreads = 100; NeoDatis.Odb.ODB[] odbs = new NeoDatis.Odb.ODB[nbThreads]; int[] versions = new int[nbThreads]; NeoDatis.Odb.Test.VO.Login.Function[] functions = new NeoDatis.Odb.Test.VO.Login.Function [nbThreads]; // Open all Odbs and get the object for (int i = 0; i < nbThreads; i++) { odbs[i] = Open("exta1"); versions[i] = odbs[i].Ext().GetObjectVersion(oid); functions[i] = (NeoDatis.Odb.Test.VO.Login.Function)odbs[i].GetObjectFromId(oid); AssertEquals(1, versions[i]); AssertEquals("f1", functions[i].GetName()); } // Open all Odbs and get the object for (int i = 0; i < nbThreads; i++) { functions[i].SetName("function " + i); odbs[i].Store(functions[i]); versions[i] = odbs[i].Ext().GetObjectVersion(oid); Println("Function with name " + functions[i].GetName() + " has version " + versions [i]); odbs[i].Close(); AssertEquals(i + 2, versions[i]); // Just to check the version number after commit odb = Open("exta1"); int committedVersionNumber = odb.Ext().GetObjectVersion(oid); Println("After commit = " + committedVersionNumber); AssertEquals(i + 2, committedVersionNumber); odb.Close(); } NeoDatis.Odb.ODB odb4 = Open("exta1"); // Check committed object value NeoDatis.Odb.Test.VO.Login.Function f4 = (NeoDatis.Odb.Test.VO.Login.Function)odb4 .GetObjectFromId(oid); AssertEquals("function " + (nbThreads - 1), f4.GetName()); AssertEquals(nbThreads + 1, odb4.Ext().GetObjectVersion(oid)); odb4.Close(); }
public virtual void Test1() { if (!isLocal) { return; } DeleteBase("unconnected"); NeoDatis.Odb.ODB odb = Open("unconnected"); NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f1")); odb.Close(); Println("Oid=" + oid); odb = Open("unconnected"); NeoDatis.Odb.Test.VO.Login.Function f2 = (NeoDatis.Odb.Test.VO.Login.Function)odb .GetObjectFromId(oid); f2.SetName("New Function"); odb.Store(f2); NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine storageEngine = NeoDatis.Odb.Impl.Core.Layers.Layer3.Engine.Dummy .GetEngine(odb); // retrieve the class info to check connected and unconnected zone NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfo ci = storageEngine.GetSession(true ).GetMetaModel().GetClassInfo(typeof(NeoDatis.Odb.Test.VO.Login.Function).FullName , true); odb.Close(); AssertEquals(1, ci.GetCommitedZoneInfo().GetNbObjects()); AssertNotNull(ci.GetCommitedZoneInfo().first); AssertNotNull(ci.GetCommitedZoneInfo().last); AssertEquals(0, ci.GetUncommittedZoneInfo().GetNbObjects()); AssertNull(ci.GetUncommittedZoneInfo().first); AssertNull(ci.GetUncommittedZoneInfo().last); odb = Open("unconnected"); AssertEquals(1, odb.GetObjects <Function>().Count ); odb.Close(); }
/// <exception cref="System.Exception"></exception> public virtual void TestObjectVersionWithoutClose2() { DeleteBase("ext2"); NeoDatis.Odb.ODB odb = Open("ext2"); int size = 1000; long updateDate = 0; long creationDate = 0; // LogUtil.allOn(true); NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f")); odb.Close(); odb = Open("ext2"); Java.Lang.Thread.Sleep(100); // LogUtil.allOn(true); for (int i = 0; i < size; i++) { // odb = open("ext"); NeoDatis.Odb.Test.VO.Login.Function f = (NeoDatis.Odb.Test.VO.Login.Function)odb. GetObjectFromId(oid); f.SetName("f" + i); odb.Store(f); odb.Commit(); } odb.Close(); }
/// <exception cref="System.Exception"></exception> public virtual void TestConcurrentObjectVersion2() { // LogUtil.allOn(true); int port = Port + 8; NeoDatis.Tool.IOUtil.DeleteFile(Directory + "exta1"); NeoDatis.Odb.ODBServer server = NeoDatis.Odb.ODBFactory.OpenServer(port); server.StartServer(true); NeoDatis.Odb.ODB odb = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f1")); int version = odb.Ext().GetObjectVersion(oid); Println(version); odb.Close(); int nbThreads = 100; NeoDatis.Odb.ODB[] odbs = new NeoDatis.Odb.ODB[nbThreads]; int[] versions = new int[nbThreads]; NeoDatis.Odb.Test.VO.Login.Function[] functions = new NeoDatis.Odb.Test.VO.Login.Function [nbThreads]; // Open all Odbs and get the object for (int i = 0; i < nbThreads; i++) { odbs[i] = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1" ); versions[i] = odbs[i].Ext().GetObjectVersion(oid); functions[i] = (NeoDatis.Odb.Test.VO.Login.Function)odbs[i].GetObjectFromId(oid); AssertEquals(1, versions[i]); AssertEquals("f1", functions[i].GetName()); } // Open all Odbs and get the object for (int i = 0; i < nbThreads; i++) { functions[i].SetName("function " + i); odbs[i].Store(functions[i]); versions[i] = odbs[i].Ext().GetObjectVersion(oid); Println("Function with name " + functions[i].GetName() + " has version " + versions [i]); odbs[i].Close(); AssertEquals(i + 2, versions[i]); // Just to check the version number after commit odb = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); int committedVersionNumber = odb.Ext().GetObjectVersion(oid); Println("After commit = " + committedVersionNumber); AssertEquals(i + 2, committedVersionNumber); odb.Close(); } NeoDatis.Odb.ODB odb4 = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); // Check committed object value NeoDatis.Odb.Test.VO.Login.Function f4 = (NeoDatis.Odb.Test.VO.Login.Function)odb4 .GetObjectFromId(oid); AssertEquals("function " + (nbThreads - 1), f4.GetName()); AssertEquals(nbThreads + 1, odb4.Ext().GetObjectVersion(oid)); odb4.Close(); server.Close(); }
/// <exception cref="System.Exception"></exception> public virtual void TestConcurrentObjectVersion() { // LogUtil.allOn(true); int port = Port + 8; NeoDatis.Tool.IOUtil.DeleteFile(Directory + "exta1"); NeoDatis.Odb.ODBServer server = NeoDatis.Odb.ODBFactory.OpenServer(port); server.StartServer(true); NeoDatis.Odb.ODB odb = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f1")); int version = odb.Ext().GetObjectVersion(oid); Println(version); odb.Close(); NeoDatis.Odb.ODB odb1 = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); NeoDatis.Odb.ODB odb2 = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); int v1 = odb1.Ext().GetObjectVersion(oid); int v2 = odb2.Ext().GetObjectVersion(oid); AssertEquals(1, v1); AssertEquals(1, v2); Println("v1=" + v1 + "- v2=" + v2); NeoDatis.Odb.Test.VO.Login.Function f1 = (NeoDatis.Odb.Test.VO.Login.Function)odb1 .GetObjectFromId(oid); NeoDatis.Odb.Test.VO.Login.Function f2 = (NeoDatis.Odb.Test.VO.Login.Function)odb2 .GetObjectFromId(oid); f1.SetName("function 1"); odb1.Store(f1); v1 = odb1.Ext().GetObjectVersion(oid); Println("after update odb1 , v1=" + v1); odb1.Close(); NeoDatis.Odb.ODB odb3 = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); // Check committed object value NeoDatis.Odb.Test.VO.Login.Function f3 = (NeoDatis.Odb.Test.VO.Login.Function)odb3 .GetObjectFromId(oid); AssertEquals(f1.GetName(), f3.GetName()); AssertEquals(2, odb3.Ext().GetObjectVersion(oid)); odb3.Close(); AssertEquals(2, v1); f2.SetName("function 2"); odb2.Store(f2); v2 = odb2.Ext().GetObjectVersion(oid); Println("after update odb2 , v2=" + v2); odb2.Close(); AssertEquals(3, v2); NeoDatis.Odb.ODB odb4 = NeoDatis.Odb.ODBFactory.OpenClient("localhost", port, Directory + "exta1"); // Check committed object value NeoDatis.Odb.Test.VO.Login.Function f4 = (NeoDatis.Odb.Test.VO.Login.Function)odb4 .GetObjectFromId(oid); AssertEquals(f2.GetName(), f4.GetName()); AssertEquals(3, odb4.Ext().GetObjectVersion(oid)); odb4.Close(); server.Close(); }
public virtual void Test6() { DeleteBase("getid.neodatis"); int size = isLocal ? 20001 : 2001; NeoDatis.Odb.ODB odb = Open("getid.neodatis"); NeoDatis.Odb.OID[] oids = new NeoDatis.Odb.OID[size]; for (int i = 0; i < size; i++) { oids[i] = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("function " + i)); } odb.Close(); odb = Open("getid.neodatis"); long t1 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); for (int i = 0; i < size; i++) { NeoDatis.Odb.Test.VO.Login.Function f = (NeoDatis.Odb.Test.VO.Login.Function)odb. GetObjectFromId(oids[i]); AssertEquals("function " + i, f.GetName()); if (i % 3000 == 0) { Println(i + "/" + size); } } long t2 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); odb.Close(); DeleteBase("getid.neodatis"); long time = t2 - t1; double timeForEachGet = (double)time / (double)size; double acceptableTime = isLocal ? 0.022 : 0.5; // 0.04294785260736963 Println("time for each get = " + time + "/" + size + " = " + timeForEachGet); if (testPerformance && timeForEachGet > acceptableTime) { // ms Fail("Getting " + size + " simple objects by oid lasted more than " + acceptableTime + "ms : " + timeForEachGet); } }
/// <exception cref="System.Exception"></exception> public virtual void TestGetObjectId() { DeleteBase("extb"); NeoDatis.Odb.ODB odb = null; odb = Open("extb"); NeoDatis.Odb.Test.VO.Login.Function f = new NeoDatis.Odb.Test.VO.Login.Function("Test Function" ); NeoDatis.Odb.OID oid = odb.Store(f); NeoDatis.Odb.ExternalOID extOid = odb.Ext().GetObjectExternalOID(f); AssertEquals(oid.GetObjectId(), extOid.GetObjectId()); AssertEquals(odb.Ext().GetDatabaseId(), extOid.GetDatabaseId()); odb.Close(); odb = Open("extb"); // Getting object via external oid NeoDatis.Odb.Test.VO.Login.Function f2 = (NeoDatis.Odb.Test.VO.Login.Function)odb .GetObjectFromId(extOid); NeoDatis.Odb.OID lastOid = odb.GetObjectId(f2); AssertEquals(oid, lastOid); AssertEquals(f.GetName(), f2.GetName()); odb.Close(); }
/// <exception cref="System.Exception"></exception> public virtual void TestObjectVersion() { DeleteBase("extc"); NeoDatis.Odb.ODB odb = Open("extc"); int size = 1000; long updateDate = 0; long creationDate = 0; NeoDatis.Odb.OID oid = odb.Store(new NeoDatis.Odb.Test.VO.Login.Function("f")); odb.Close(); Java.Lang.Thread.Sleep(100); // LogUtil.allOn(true); for (int i = 0; i < size; i++) { odb = Open("extc"); NeoDatis.Odb.Test.VO.Login.Function f = (NeoDatis.Odb.Test.VO.Login.Function)odb. GetObjectFromId(oid); int version = odb.Ext().GetObjectVersion(oid); // System.out.println("i="+i + " - v="+ version+ " - oid="+oid); updateDate = odb.Ext().GetObjectUpdateDate(oid); creationDate = odb.Ext().GetObjectCreationDate(oid); f.SetName(f.GetName() + "-" + i); // update the object, should increase the version number odb.Store(f); odb.Close(); AssertEquals(i + 1, version); // System.out.println(creationDate + " - "+ updateDate+ "- "+ // OdbTime.getCurrentTimeInMs()); // in first iteration, creation & update date may be equal if (i > 0) { AssertTrue(creationDate < updateDate); } } }
public virtual void Test1() { string baseName = GetBaseName(); Println(baseName); string currentEncoding = NeoDatis.Odb.OdbConfiguration.GetDatabaseCharacterEncoding (); NeoDatis.Odb.OdbConfiguration.SetDatabaseCharacterEncoding("ISO8859-5"); NeoDatis.Odb.ODB odb = null; try { odb = Open(baseName); string nameWithCyrillicCharacters = "\u0410 \u0430 \u0431 \u0448 \u0429"; NeoDatis.Odb.Test.VO.Login.Function f = new NeoDatis.Odb.Test.VO.Login.Function(nameWithCyrillicCharacters ); NeoDatis.Odb.OID oid = odb.Store(f); odb.Close(); Println(f); odb = Open(baseName); NeoDatis.Odb.Test.VO.Login.Function f2 = (NeoDatis.Odb.Test.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]); } finally { NeoDatis.Odb.OdbConfiguration.SetDatabaseCharacterEncoding(currentEncoding); } }
public virtual void Test2_ClientServer() { string baseName = GetBaseName(); Println(baseName); string currentEncoding = NeoDatis.Odb.OdbConfiguration.GetDatabaseCharacterEncoding (); NeoDatis.Odb.OdbConfiguration.SetDatabaseCharacterEncoding("ISO8859-5"); NeoDatis.Odb.ODBServer server = null; try { server = NeoDatis.Odb.ODBFactory.OpenServer(NeoDatis.Odb.Test.ODBTest.PORT + 1); server.AddBase(baseName, baseName); server.StartServer(true); Thread.Sleep(200); NeoDatis.Odb.ODB odb = NeoDatis.Odb.ODBFactory.OpenClient("localhost", NeoDatis.Odb.Test.ODBTest .PORT + 1, baseName); string nameWithCyrillicCharacters = "\u0410 \u0430 \u0431 \u0448 \u0429"; NeoDatis.Odb.Test.VO.Login.Function f = new NeoDatis.Odb.Test.VO.Login.Function(nameWithCyrillicCharacters ); NeoDatis.Odb.OID oid = odb.Store(f); odb.Close(); Println(f); odb = NeoDatis.Odb.ODBFactory.OpenClient("localhost", NeoDatis.Odb.Test.ODBTest.PORT + 1, baseName); NeoDatis.Odb.Test.VO.Login.Function f2 = (NeoDatis.Odb.Test.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]); } finally { NeoDatis.Odb.OdbConfiguration.SetDatabaseCharacterEncoding(currentEncoding); if (server != null) { server.Close(); } } }