github.com/zuoyebang/bitalostable@v1.0.1-0.20240229032404-e3b99a834294/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