Commit 5906f6e1 authored by zhangjinpeng1987's avatar zhangjinpeng1987 Committed by Yi Wu

Use Vec parameter for ReadOptions' bound APIs. (#287)

parent 09c52781
......@@ -311,8 +311,8 @@ impl ReadOptions {
crocksdb_ffi::crocksdb_readoptions_set_snapshot(self.inner, snapshot.inner);
}
pub fn set_iterate_lower_bound(&mut self, key: &[u8]) {
self.lower_bound = Vec::from(key);
pub fn set_iterate_lower_bound(&mut self, key: Vec<u8>) {
self.lower_bound = key;
unsafe {
crocksdb_ffi::crocksdb_readoptions_set_iterate_lower_bound(
self.inner,
......@@ -322,8 +322,12 @@ impl ReadOptions {
}
}
pub fn set_iterate_upper_bound(&mut self, key: &[u8]) {
self.upper_bound = Vec::from(key);
pub fn iterate_lower_bound(&self) -> &[u8] {
&self.lower_bound
}
pub fn set_iterate_upper_bound(&mut self, key: Vec<u8>) {
self.upper_bound = key;
unsafe {
crocksdb_ffi::crocksdb_readoptions_set_iterate_upper_bound(
self.inner,
......@@ -333,6 +337,10 @@ impl ReadOptions {
}
}
pub fn iterate_upper_bound(&self) -> &[u8] {
&self.upper_bound
}
pub fn set_read_tier(&mut self, tier: c_int) {
unsafe {
crocksdb_ffi::crocksdb_readoptions_set_read_tier(self.inner, tier);
......
......@@ -278,7 +278,9 @@ fn read_with_upper_bound() {
db.put_opt(b"k2-0", b"c", &writeopts).unwrap();
let mut readopts = ReadOptions::new();
readopts.set_iterate_upper_bound(b"k2");
let upper_bound = b"k2".to_vec();
readopts.set_iterate_upper_bound(upper_bound);
assert_eq!(readopts.iterate_upper_bound(), b"k2");
let mut iter = db.iter_opt(readopts);
iter.seek(SeekKey::Start);
let vec = next_collect(&mut iter);
......
......@@ -656,8 +656,8 @@ fn test_readoptions_lower_bound() {
db.put(b"k3", b"a").unwrap();
let mut read_opts = ReadOptions::new();
let lower_bound = b"k2";
read_opts.set_iterate_lower_bound(lower_bound.as_ref());
let lower_bound = b"k2".to_vec();
read_opts.set_iterate_lower_bound(lower_bound);
let mut iter = db.iter_opt(read_opts);
iter.seek(SeekKey::Key(b"k3"));
let mut count = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment