// An optimized code path for when no index is provided (just walking through // a sort index) func (q *NormalQuery) findWithNoIndexes() Result { limit := q.limit result := <-q.db.sortedResults result.total = -1 var iterator indexes.Iterator if q.desc { iterator = q.sort.Backwards() } else { iterator = q.sort.Forwards() } if q.sortCondition != nil { iterator.Range(q.sortCondition.Range()) } iterator.Offset(q.offset) id := iterator.Current() for ; id != key.NULL; id = iterator.Next() { if result.add(id) == limit { break } } result.hasMore = id != key.NULL && iterator.Next() != key.NULL iterator.Close() if q.includeTotal { result.total = q.sortLength if result.total > q.upto { result.total = q.upto } } return result }