public NativeQueryExecutionPlan(NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfo classInfo , NeoDatis.Odb.Core.Query.IQuery query) { this.classInfo = classInfo; this.query = query; query.SetExecutionPlan(this); Init(); }
public GetMessage(string baseId, string connectionId, NeoDatis.Odb.Core.Query.IQuery query, bool inMemory, int startIndex, int endIndex) : base(NeoDatis.Odb.Core.Server.Layers.Layer3.Engine.Command .Get, baseId, connectionId) { this.query = query; this.startIndex = startIndex; this.endIndex = endIndex; this.inMemory = inMemory; }
public virtual void SetQuery(NeoDatis.Odb.Core.Query.IQuery query) { this.query = query; }
public CriteriaQueryExecutor(NeoDatis.Odb.Core.Query.IQuery query, NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine engine) : base(query, engine) { criteriaQuery = (NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQuery)query; }
public GetMessage(string baseId, string connectionId, NeoDatis.Odb.Core.Query.IQuery query) : this(baseId, connectionId, query, true, -1, -1) { }
public override void SetQuery(NeoDatis.Odb.Core.Query.IQuery query) { base.SetQuery(query); }
public NativeQueryExecutor(NeoDatis.Odb.Core.Query.IQuery query, NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine engine, NeoDatis.Odb.Core.Layers.Layer2.Instance.IInstanceBuilder instanceBuilder ) : base(query, engine) { this.instanceBuilder = instanceBuilder; }
/// <exception cref="System.Exception"></exception> public virtual void T1estInsertSimpleObjectODB(int size) { OdbFileName = "perf-" + size + ".neodatis"; TestSize = size; bool doUpdate = true; bool doDelete = true; int commitInterval = 100; // Configuration.setUseLazyCache(true); bool 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; NeoDatis.Odb.ODB odb = null; NeoDatis.Odb.Objects <SimpleObject> l = null; SimpleObject so = null; // Insert TEST_SIZE objects Println("Inserting " + TestSize + " objects"); t1 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); odb = Open(OdbFileName); string[] fields = new string[] { "name" }; odb.GetClassRepresentation(typeof(SimpleObject)).AddUniqueIndexOn ("index1", fields, true); for (int i = 0; i < TestSize; i++) { object o = GetSimpleObjectInstance(i); odb.Store(o); if (i % 10000 == 0) { // println("i="+i); NeoDatis.Odb.Impl.Tool.MemoryMonitor.DisplayCurrentMemory(string.Empty + i, false ); } } // println("Cache="+Dummy.getEngine(odb).getSession().getCache().toString()); t2 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); // Closes the database odb.Close(); // if(true)return; t3 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); Println("Retrieving " + TestSize + " objects"); // Reopen the database odb = Open(OdbFileName); // Gets the TEST_SIZE objects t4 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); NeoDatis.Odb.Core.Query.IQuery q = null; for (int j = 0; j < TestSize; j++) { // println("Bonjour, comment allez vous?" + j); q = new CriteriaQuery(Where.Equal("name", "Bonjour, comment allez vous?" + j)); NeoDatis.Odb.Objects <SimpleObject> objects = odb.GetObjects <SimpleObject>(q); AssertTrue(q.GetExecutionPlan().UseIndex()); so = objects.GetFirst(); if (!so.GetName().Equals("Bonjour, comment allez vous?" + j)) { throw new System.Exception("error while getting object : expected = " + "Bonjour, comment allez vous?" + j + " / actual = " + so.GetName()); } if (j % 1000 == 0) { Println("got " + j + " objects"); } } t5 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); odb.Close(); odb = Open(OdbFileName); if (doUpdate) { Println("Updating " + TestSize + " objects"); so = null; l = odb.GetObjects <SimpleObject>(inMemory); while (l.HasNext()) { so = (SimpleObject)l.Next(); so.SetName(so.GetName().ToUpper()); odb.Store(so); } } t6 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); odb.Close(); // if(true)return; t7 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); if (doDelete) { Println("Deleting " + TestSize + " objects"); odb = Open(OdbFileName); Println("After open - before delete"); l = odb.GetObjects <SimpleObject>(inMemory); t77 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); Println("After getting objects - before delete"); int i = 0; while (l.HasNext()) { so = (SimpleObject)l.Next(); if (!so.GetName().StartsWith("BONJOUR")) { throw new System.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 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); // t4 2 times DisplayResult("ODB " + TestSize + " SimpleObject objects ", t1, t2, t4, t4, t5, t6 , t7, t77, t8); }
/// <exception cref="System.Exception"></exception> public virtual NeoDatis.Odb.Objects <T> GetObjects <T>(string fullClassName, NeoDatis.Odb.Core.Query.IQuery query, bool inMemory, int startIndex, int endIndex) { return(null); }
public virtual NeoDatis.Odb.Objects <T> GetObjectInfos <T>(NeoDatis.Odb.Core.Query.IQuery query, bool inMemory, int startIndex, int endIndex, bool returnOjects) { return(null); }
public virtual NeoDatis.Odb.Objects <T> GetObjects <T>(NeoDatis.Odb.Core.Query.IQuery query) { query.SetFullClassName(typeof(T)); return(storageEngine.GetObjects <T>(query, true, -1, -1)); }
public virtual NeoDatis.Odb.Objects <T> GetObjects <T>(NeoDatis.Odb.Core.Query.IQuery query, bool inMemory) { return(storageEngine.GetObjects <T>(query, inMemory, -1, -1)); }
/// <summary>Returns a query executor according to the query type</summary> /// <param name="query"></param> /// <param name="engine"></param> /// <param name="instanceBuilder"></param> /// <returns></returns> public static NeoDatis.Odb.Core.Query.Execution.IQueryExecutor GetQueryExecutor(NeoDatis.Odb.Core.Query.IQuery query, NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine engine, NeoDatis.Odb.Core.Layers.Layer2.Instance.IInstanceBuilder instanceBuilder) { if (query.IsPolymorphic()) { return(GetMultiClassQueryExecutor(query, engine, instanceBuilder)); } return(GetSingleClassQueryExecutor(query, engine, instanceBuilder)); }
public static bool IsCriteriaQuery(NeoDatis.Odb.Core.Query.IQuery query) { return(typeof(NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQuery).IsAssignableFrom (query.GetType())); }