github.com/cockroachdb/pebble@v0.0.0-20231214172447-ab4952c5f87b/internal/keyspan/doc.go (about)

     1  // Package keyspan provides facilities for sorting, fragmenting and
     2  // iterating over spans of user keys.
     3  //
     4  // A Span represents a range of user key space with an inclusive start
     5  // key and exclusive end key. A span may hold any number of Keys which are
     6  // applied over the entirety of the span's keyspace.
     7  //
     8  // Spans are used within Pebble as an in-memory representation of range
     9  // deletion tombstones, and range key sets, unsets and deletes. Spans
    10  // are fragmented at overlapping key boundaries by the Fragmenter type.
    11  // This package's various iteration facilities require these
    12  // non-overlapping fragmented spans.
    13  package keyspan