Esempio n. 1
0
 public GetMessageResponse(string baseId, string connectionId, NeoDatis.Odb.Objects
                           <NeoDatis.Odb.Core.Layers.Layer2.Meta.NonNativeObjectInfo> metaObjects, NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan
                           plan) : base(NeoDatis.Odb.Core.Server.Layers.Layer3.Engine.Command.Get, baseId,
                                        connectionId)
 {
     this.metaObjects = metaObjects;
     this.plan        = plan;
 }
 public GetObjectValuesMessageResponse(string baseId, string connectionId, NeoDatis.Odb.Values
                                       values, NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan queryExecutionPlan
                                       ) : base(NeoDatis.Odb.Core.Server.Layers.Layer3.Engine.Command.GetObjectValues,
                                                baseId, connectionId)
 {
     this.values = values;
     this.plan   = queryExecutionPlan;
 }
		public GetMessageResponse(string baseId, string connectionId, NeoDatis.Odb.Objects
			<NeoDatis.Odb.Core.Layers.Layer2.Meta.NonNativeObjectInfo> metaObjects, NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan
			 plan) : base(NeoDatis.Odb.Core.Server.Layers.Layer3.Engine.Command.Get, baseId, 
			connectionId)
		{
			this.metaObjects = metaObjects;
			this.plan = plan;
		}
		public GetObjectValuesMessageResponse(string baseId, string connectionId, NeoDatis.Odb.Values
			 values, NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan queryExecutionPlan
			) : base(NeoDatis.Odb.Core.Server.Layers.Layer3.Engine.Command.GetObjectValues, 
			baseId, connectionId)
		{
			this.values = values;
			this.plan = queryExecutionPlan;
		}
Esempio n. 5
0
 public virtual NeoDatis.Odb.Objects <T> Execute <T>(bool inMemory, int startIndex,
                                                     int endIndex, bool returnObjects, NeoDatis.Odb.Core.Query.Execution.IMatchingObjectAction
                                                     queryResultAction)
 {
     if (storageEngine.IsClosed())
     {
         throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.NeoDatisError.OdbIsClosed
                                                    .AddParameter(storageEngine.GetBaseIdentification().GetIdentification()));
     }
     if (session.IsRollbacked())
     {
         throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.NeoDatisError.OdbHasBeenRollbacked
                                                    );
     }
     // When used as MultiClass Executor, classInfo is already set
     if (classInfo == null)
     {
         // Class to execute query on
         string fullClassName = NeoDatis.Odb.Core.Query.QueryManager.GetFullClassName(query
                                                                                      );
         // If the query class does not exist in meta model, return an empty
         // collection
         if (!session.GetMetaModel().ExistClass(fullClassName))
         {
             queryResultAction.Start();
             queryResultAction.End();
             query.SetExecutionPlan(new NeoDatis.Odb.Core.Query.Execution.EmptyExecutionPlan()
                                    );
             return(queryResultAction.GetObjects <T>());
         }
         classInfo = session.GetMetaModel().GetClassInfo(fullClassName, true);
     }
     // Get the query execution plan
     NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan plan = GetExecutionPlan();
     plan.Start();
     try
     {
         if (plan.UseIndex() && NeoDatis.Odb.OdbConfiguration.UseIndex())
         {
             return(ExecuteUsingIndex <T>(plan.GetIndex(), inMemory, startIndex, endIndex, returnObjects
                                          , queryResultAction));
         }
         // When query must be applied to a single object
         if (query.IsForSingleOid())
         {
             return(ExecuteForOneOid <T>(inMemory, returnObjects, queryResultAction));
         }
         return(ExecuteFullScan <T>(inMemory, startIndex, endIndex, returnObjects, queryResultAction
                                    ));
     }
     finally
     {
         plan.End();
     }
 }
Esempio n. 6
0
 public virtual void SetExecutionPlan(NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan
                                      plan)
 {
     executionPlan = plan;
 }
Esempio n. 7
0
		public virtual void SetExecutionPlan(NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan
			 plan)
		{
			executionPlan = plan;
		}
 public override void SetExecutionPlan(NeoDatis.Odb.Core.Query.Execution.IQueryExecutionPlan
                                       plan)
 {
     executionPlan = plan;
 }