changeset 203:02dee560e4ad

cmp, key_types: Small documentation and visibility changes.
author Lewin Bormann <lbo@spheniscida.de>
date Sun, 03 Sep 2017 17:38:46 +0200
parents 344515a861ac
children 625af9366bba
files src/cmp.rs src/key_types.rs
diffstat 2 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/cmp.rs	Sun Sep 03 17:13:51 2017 +0200
+++ b/src/cmp.rs	Sun Sep 03 17:38:46 2017 +0200
@@ -123,7 +123,7 @@
 
 impl InternalKeyCmp {
     /// cmp_inner compares a and b using the underlying comparator (the "user comparator").
-    fn cmp_inner(&self, a: &[u8], b: &[u8]) -> Ordering {
+    pub fn cmp_inner(&self, a: &[u8], b: &[u8]) -> Ordering {
         self.0.cmp(a, b)
     }
 }
--- a/src/key_types.rs	Sun Sep 03 17:13:51 2017 +0200
+++ b/src/key_types.rs	Sun Sep 03 17:38:46 2017 +0200
@@ -57,17 +57,17 @@
         }
     }
 
-    // Returns full key
+    /// Returns the full memtable-formatted key.
     pub fn memtable_key<'a>(&'a self) -> MemtableKey<'a> {
         self.key.as_slice()
     }
 
-    // Returns only key
+    /// Returns only the user key portion.
     pub fn user_key<'a>(&'a self) -> UserKey<'a> {
         &self.key[self.key_offset..self.key.len() - 8]
     }
 
-    // Returns key+tag
+    /// Returns key and tag.
     pub fn internal_key<'a>(&'a self) -> InternalKey<'a> {
         &self.key[self.key_offset..]
     }
@@ -141,6 +141,9 @@
 
 /// Parse a key in InternalKey format.
 pub fn parse_internal_key<'a>(ikey: InternalKey<'a>) -> (CompressionType, u64, UserKey<'a>) {
+    if ikey.is_empty() {
+        return (CompressionType::CompressionNone, 0, &ikey[0..0]);
+    }
     assert!(ikey.len() >= 8);
 
     let (ctype, seq) = parse_tag(FixedInt::decode_fixed(&ikey[ikey.len() - 8..]));