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();
		}
Esempio n. 2
0
		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;
		}
Esempio n. 3
0
 public virtual void SetQuery(NeoDatis.Odb.Core.Query.IQuery query)
 {
     this.query = query;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 public GetMessage(string baseId, string connectionId, NeoDatis.Odb.Core.Query.IQuery
                   query) : this(baseId, connectionId, query, true, -1, -1)
 {
 }
Esempio n. 6
0
 public override void SetQuery(NeoDatis.Odb.Core.Query.IQuery query)
 {
     base.SetQuery(query);
 }
Esempio n. 7
0
 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;
 }
		public virtual void SetQuery(NeoDatis.Odb.Core.Query.IQuery query)
		{
			this.query = query;
		}
Esempio n. 9
0
        /// <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);
 }
Esempio n. 12
0
 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));
 }
Esempio n. 13
0
 public virtual NeoDatis.Odb.Objects <T> GetObjects <T>(NeoDatis.Odb.Core.Query.IQuery
                                                        query, bool inMemory)
 {
     return(storageEngine.GetObjects <T>(query, inMemory, -1, -1));
 }
Esempio n. 14
0
 /// <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));
 }
Esempio n. 15
0
 public static bool IsCriteriaQuery(NeoDatis.Odb.Core.Query.IQuery query)
 {
     return(typeof(NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQuery).IsAssignableFrom
                (query.GetType()));
 }