Beispiel #1
0
        public virtual IEnumerator ExecuteSnapshot()
        {
            QQueryBase.CreateCandidateCollectionResult r = CreateCandidateCollection();
            Collection4 executionPath      = ExecutionPath(r);
            IEnumerator candidatesIterator = new Iterator4Impl(r.candidateCollection);
            Collection4 snapshots          = new Collection4();

            while (candidatesIterator.MoveNext())
            {
                QCandidates candidates = (QCandidates)candidatesIterator.Current;
                snapshots.Add(candidates.ExecuteSnapshot(executionPath));
            }
            IEnumerator        snapshotsIterator = snapshots.GetEnumerator();
            CompositeIterator4 resultingIDs      = new CompositeIterator4(snapshotsIterator);

            if (!r.checkDuplicates)
            {
                return(resultingIDs);
            }
            return(CheckDuplicates(resultingIDs));
        }