Makes RocksDB reads faster

Avoids an unneeded copy
pull/10/head
Tpt 6 years ago
parent 4e74db73ab
commit d84190bd87
  1. 15
      lib/src/store/rocksdb.rs

@ -449,10 +449,13 @@ impl Iterator for SPOGIndexIterator {
fn next(&mut self) -> Option<Result<EncodedQuad>> {
self.iter.next();
unsafe {
//This is safe because we are not keeping the buffer
self.iter
.key()
.key_inner()
.map(|buffer| Cursor::new(buffer).read_spog_quad())
}
}
}
pub struct POSGIndexIterator {
@ -464,10 +467,13 @@ impl Iterator for POSGIndexIterator {
fn next(&mut self) -> Option<Result<EncodedQuad>> {
self.iter.next();
unsafe {
//This is safe because we are not keeping the buffer
self.iter
.key()
.key_inner()
.map(|buffer| Cursor::new(buffer).read_posg_quad())
}
}
}
pub struct OSPGIndexIterator {
@ -479,10 +485,13 @@ impl Iterator for OSPGIndexIterator {
fn next(&mut self) -> Option<Result<EncodedQuad>> {
self.iter.next();
unsafe {
//This is safe because we are not keeping the buffer
self.iter
.key()
.key_inner()
.map(|buffer| Cursor::new(buffer).read_ospg_quad())
}
}
}
pub struct FilteringEncodedQuadsIterator<I: Iterator<Item = Result<EncodedQuad>>> {

Loading…
Cancel
Save