> - Shouldn't skip take an unsigned integer? The parameters to fn:subsequence and co are all signed. E.g. you can pass a negative skip.
> - Why is the while loop in collections_impl.cpp:397 necessary if > initCollection is called before? I think there might be a bug in > initCollection. Specifically, the else block in line 298 is never called > because the CollectionIterator is not rewritten anymore (i.e. > theChildren.size() will always return one) You're very right. It was not really a bug, but the skip optimization didn't really happen because it was the while() that was doing the skipping instead of the getIterator(skip). I've fixed that. But the else block at line 298 cannot be deleted as the 3-parameter function was not only used by the rewriter, e.g. the collections/paging_1 to _5 use it. > - state->theIteratorOpened == false => !state->theIteratorOpened Fixed. > - could we implement and test skip for the EvalIterator as well? All iterators have the default implementation of skip in plan_iterator.cpp. How can we improve that implementation for EvalIterator? > - What about the index probe iterators (e.g. ProbeIndexPointValueIterator), > they also skip I was not aware they do. I'll write an optimization for them as well. -- -- https://code.launchpad.net/~zorba-coders/zorba/skip-items/+merge/174723 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : firstname.lastname@example.org Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp