Exemple #1
0
 private IEnumerator IterateIndex(FieldIndexProcessorResult result)
 {
     if (result.NoMatch())
     {
         return(Iterators.EmptyIterator);
     }
     if (result.FoundIndex())
     {
         return(result.IterateIDs());
     }
     if (!i_classMetadata.HasClassIndex())
     {
         return(Iterators.EmptyIterator);
     }
     return(BTreeClassIndexStrategy.Iterate(i_classMetadata, i_trans));
 }
Exemple #2
0
        internal void Execute()
        {
            if (DTrace.enabled)
            {
                DTrace.QueryProcess.Log();
            }
            FieldIndexProcessorResult result = ProcessFieldIndexes();

            if (result.FoundIndex())
            {
                i_root = result.ToQCandidate(this);
            }
            else
            {
                LoadFromClassIndex();
            }
            Evaluate();
        }