diff options
Diffstat (limited to 'database/src/kv/index.rs')
| -rw-r--r-- | database/src/kv/index.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/database/src/kv/index.rs b/database/src/kv/index.rs index e4f707c..591aeee 100644 --- a/database/src/kv/index.rs +++ b/database/src/kv/index.rs @@ -69,11 +69,13 @@ pub fn update_index( for tok in &tokens { for mut k in ks.clone() { k.push(0); + k.extend((tok.len() as u32).to_be_bytes()); k.extend(tok.as_bytes()); index_counter(txn, &k, remove)?; } for mut k in ks.clone() { k.push(1); + k.extend((tok.len() as u32).to_be_bytes()); k.extend(tok.as_bytes()); k.extend(row.to_be_bytes()); index_marker(txn, &k, remove)?; @@ -196,6 +198,7 @@ pub fn iter_index<'a>( } let mut min_token_prefix = prefix.clone(); min_token_prefix.push(1); + min_token_prefix.extend((min_tok.len() as u32).to_be_bytes()); min_token_prefix.extend(min_tok.as_bytes()); Box::new( PrefixIterator { @@ -211,6 +214,7 @@ pub fn iter_index<'a>( for token in &search_tokens { let mut k = prefix.clone(); k.push(1); + k.extend((token.len() as u32).to_be_bytes()); k.extend(token.as_bytes()); k.extend(rn.to_be_bytes()); let v = match txn.get(&k) { |