Giter Site home page Giter Site logo

Comments (7)

VannaDii avatar VannaDii commented on September 23, 2024 1

Ahhh, I see now. Thank you for that explanation. This might be a good explanation to add to the iterator documentation? I'll close this issue. Sorry for the trouble.

from abstract-leveldown.

vweevers avatar vweevers commented on September 23, 2024 1

The limit applies to the total number of items retrieved, not to what's on disk. It does a seek first, then from it where landed, retrieves items until the limit is reached.

from abstract-leveldown.

vweevers avatar vweevers commented on September 23, 2024

Following LevelDB logic, forwards seeks land on the target, or the key after it. In reverse mode, we reversed that logic: a backwards seek lands on the target or the key before it.

from abstract-leveldown.

VannaDii avatar VannaDii commented on September 23, 2024

@vweevers that makes sense, however, it also makes assumption 1 - items are stored in the order received. It seems problematic to impose this storage rule on the underlying persistence layer, no?

Also, in this case, the key provided to seek doesn't exist at all, it was never put.

from abstract-leveldown.

vweevers avatar vweevers commented on September 23, 2024

Also, in this case, the key provided to seek doesn't exist at all, it was never put.

I'll rephrase: seeks land on the target or - if that key does not exist - the key after/before it.

Items are sorted lexicographically. In this case, the inserted keys one, two, three sort as one, three, two. If you imagine the key three! in between them, they sort as one, three, three!, two. Seeking backwards to three! would land on three! if that key existed, but it doesn't, so it lands on three.

from abstract-leveldown.

vweevers avatar vweevers commented on September 23, 2024

No trouble at all.

from abstract-leveldown.

VannaDii avatar VannaDii commented on September 23, 2024

Wait, but doesn't limit: 1 mean that only two would be retrieved in reverse landing the seek on undefined?

from abstract-leveldown.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.