Ejemplo n.º 1
0
        private void AssertExpectedIDs(int[] expectedIds, IQuery query)
        {
            FieldIndexProcessorResult result = ExecuteProcessor(query);

            if (expectedIds.Length == 0)
            {
                Assert.AreSame(FieldIndexProcessorResult.FoundIndexButNoMatch, result);
                return;
            }
            AssertTreeInt(expectedIds, result.ToTreeInt());
        }
Ejemplo n.º 2
0
        private void AssertExpectedIDs(int[] expectedIds, IQuery query)
        {
            FieldIndexProcessorResult result = ExecuteProcessor(query);

            if (expectedIds.Length == 0)
            {
                Assert.AreSame(FieldIndexProcessorResult.FoundIndexButNoMatch, result);
                return;
            }
            ByRef treeInts = ByRef.NewInstance();

            result.Traverse(new _IIntVisitor_303(treeInts));
            AssertTreeInt(expectedIds, ((TreeInt)treeInts.value));
        }
Ejemplo n.º 3
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));
 }
Ejemplo n.º 4
0
        internal void Execute()
        {
            if (DTrace.enabled)
            {
                DTrace.QueryProcess.Log();
            }
            FieldIndexProcessorResult result = ProcessFieldIndexes();

            if (result.FoundIndex())
            {
                i_root = result.ToQCandidate(this);
            }
            else
            {
                LoadFromClassIndex();
            }
            Evaluate();
        }
Ejemplo n.º 5
0
        private void AssertCantOptimize(IQuery query)
        {
            FieldIndexProcessorResult result = ExecuteProcessor(query);

            Assert.AreSame(FieldIndexProcessorResult.NoIndexFound, result);
        }