Mercurial > lbo > hg > leveldb-rs
view src/lib.rs @ 150:01e070c97ee7
Fix bug in default comparator: Return correct separator for difficult cases
This is important if TableBuilder wants a separator between K and succ(K), where succ(K) is usually
just a string of K's first characters plus 1. In this case we now return K with its last byte incremented
by one, which isn't really "short" anymore, but a valid separator.
Otherwise, logic relying on the key in index blocks being actually *past* the referenced block fails in
some cases, for example on the last block of a table.
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sun, 29 Jan 2017 16:13:36 +0100 |
parents | 4a41aab21046 |
children | 28698cadc1de |
line wrap: on
line source
#![allow(dead_code)] extern crate crc; extern crate integer_encoding; extern crate libc; extern crate rand; mod block; mod blockhandle; mod cache; mod cmp; mod disk_env; mod env; mod error; mod filter; mod filter_block; mod key_types; mod log; mod memtable; mod merging_iter; mod options; mod skipmap; mod snapshot; mod table_builder; mod table_reader; mod types; mod version_edit; mod write_batch; mod test_util; #[cfg(test)] mod tests {}