예제 #1
0
        public IEnumerable <TRow> Seek(SeekTarget <TIndexKey> seekTarget, Retrieval retrieval)
        {
            seekTarget.Prepare(_map.KeyComparer, retrieval);

            return(QueryAnalyser.Pick(seekTarget, _map.Count,
                                      () => _map.SeekMany(seekTarget.Keys !).Select(s => s.Value.Row),
                                      () => RangedScan(seekTarget, retrieval.Reverse)));
        }
        public IEnumerable <TRow> Seek(SeekTarget <TIndexKey> seekTarget, Retrieval retrieval)
        {
            seekTarget.Prepare(_map.KeyComparer, retrieval);

            return(QueryAnalyser.Pick(seekTarget, _map.Count,
                                      () => TrueSeek(seekTarget),
                                      () => RangedScan(seekTarget, retrieval.Reverse)));
        }