Exemple #1
0
 protected virtual void Init()
 {
     start = 0;
     end   = 0;
     // for instance, only manage index for one field query using 'equal'
     if (classInfo.HasIndex() && query.HasCriteria() && CanUseIndex(query.GetCriteria(
                                                                        )))
     {
         NeoDatis.Tool.Wrappers.List.IOdbList <string> fields = query.GetAllInvolvedFields(
             );
         if (fields.IsEmpty())
         {
             useIndex = false;
         }
         else
         {
             int[] fieldIds = GetAllInvolvedFieldIds(fields);
             classInfoIndex = classInfo.GetIndexForAttributeIds(fieldIds);
             if (classInfoIndex != null)
             {
                 useIndex = true;
             }
         }
     }
     // Keep the detail
     details = GetDetails();
 }
Exemple #2
0
 public override void PrepareQuery()
 {
     criteriaQuery = (NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQuery)query;
     criteriaQuery.SetStorageEngine(storageEngine);
     involvedFields = criteriaQuery.GetAllInvolvedFields();
 }
		public override void PrepareQuery()
		{
			criteriaQuery = (NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQuery)query;
			criteriaQuery.SetStorageEngine(storageEngine);
			involvedFields = criteriaQuery.GetAllInvolvedFields();
		}