From 65a370836c5d824734a7d8b6229215fdd7b414ad Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 8 Dec 2024 03:02:28 +0000 Subject: [PATCH] derive specific ReadOptions for iterators Signed-off-by: Jason Volk --- src/database/map.rs | 12 +++++++++--- src/database/map/keys.rs | 2 +- src/database/map/keys_from.rs | 2 +- src/database/map/rev_keys.rs | 2 +- src/database/map/rev_keys_from.rs | 2 +- src/database/map/rev_stream.rs | 2 +- src/database/map/rev_stream_from.rs | 2 +- src/database/map/stream.rs | 2 +- 8 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/database/map.rs b/src/database/map.rs index a15d5e9d..d9601599 100644 --- a/src/database/map.rs +++ b/src/database/map.rs @@ -116,18 +116,24 @@ fn open(db: &Arc, name: &str) -> Result> { } #[inline] -fn cache_read_options_default() -> ReadOptions { +pub(crate) fn iter_options_default() -> ReadOptions { + let mut read_options = read_options_default(); + read_options +} + +#[inline] +pub(crate) fn cache_read_options_default() -> ReadOptions { let mut read_options = read_options_default(); read_options.set_read_tier(ReadTier::BlockCache); read_options } #[inline] -fn read_options_default() -> ReadOptions { +pub(crate) fn read_options_default() -> ReadOptions { let mut read_options = ReadOptions::default(); read_options.set_total_order_seek(true); read_options } #[inline] -fn write_options_default() -> WriteOptions { WriteOptions::default() } +pub(crate) fn write_options_default() -> WriteOptions { WriteOptions::default() } diff --git a/src/database/map/keys.rs b/src/database/map/keys.rs index 80cf1e15..3c4d491b 100644 --- a/src/database/map/keys.rs +++ b/src/database/map/keys.rs @@ -15,6 +15,6 @@ where #[implement(super::Map)] #[tracing::instrument(skip(self), fields(%self), level = "trace")] pub fn raw_keys(&self) -> impl Stream>> + Send { - let opts = super::read_options_default(); + let opts = super::iter_options_default(); stream::Keys::new(&self.db, &self.cf, opts).init(None) } diff --git a/src/database/map/keys_from.rs b/src/database/map/keys_from.rs index 7be3dd1d..40c608f2 100644 --- a/src/database/map/keys_from.rs +++ b/src/database/map/keys_from.rs @@ -46,7 +46,7 @@ where { use crate::pool::Seek; - let opts = super::read_options_default(); + let opts = super::iter_options_default(); let state = stream::State::new(&self.db, &self.cf, opts); let seek = Seek { map: self.clone(), diff --git a/src/database/map/rev_keys.rs b/src/database/map/rev_keys.rs index 45a0203f..1e000a47 100644 --- a/src/database/map/rev_keys.rs +++ b/src/database/map/rev_keys.rs @@ -15,6 +15,6 @@ where #[implement(super::Map)] #[tracing::instrument(skip(self), fields(%self), level = "trace")] pub fn rev_raw_keys(&self) -> impl Stream>> + Send { - let opts = super::read_options_default(); + let opts = super::iter_options_default(); stream::KeysRev::new(&self.db, &self.cf, opts).init(None) } diff --git a/src/database/map/rev_keys_from.rs b/src/database/map/rev_keys_from.rs index 2b59a5d7..b5565aa4 100644 --- a/src/database/map/rev_keys_from.rs +++ b/src/database/map/rev_keys_from.rs @@ -48,7 +48,7 @@ where { use crate::pool::Seek; - let opts = super::read_options_default(); + let opts = super::iter_options_default(); let state = stream::State::new(&self.db, &self.cf, opts); let seek = Seek { map: self.clone(), diff --git a/src/database/map/rev_stream.rs b/src/database/map/rev_stream.rs index 37b0d3b3..5f61cb08 100644 --- a/src/database/map/rev_stream.rs +++ b/src/database/map/rev_stream.rs @@ -23,6 +23,6 @@ where #[implement(super::Map)] #[tracing::instrument(skip(self), fields(%self), level = "trace")] pub fn rev_raw_stream(&self) -> impl Stream>> + Send { - let opts = super::read_options_default(); + let opts = super::iter_options_default(); stream::ItemsRev::new(&self.db, &self.cf, opts).init(None) } diff --git a/src/database/map/rev_stream_from.rs b/src/database/map/rev_stream_from.rs index 9811d106..542a5ba8 100644 --- a/src/database/map/rev_stream_from.rs +++ b/src/database/map/rev_stream_from.rs @@ -73,7 +73,7 @@ where { use crate::pool::Seek; - let opts = super::read_options_default(); + let opts = super::iter_options_default(); let state = stream::State::new(&self.db, &self.cf, opts); let seek = Seek { map: self.clone(), diff --git a/src/database/map/stream.rs b/src/database/map/stream.rs index 4f4fbd08..67cfff1b 100644 --- a/src/database/map/stream.rs +++ b/src/database/map/stream.rs @@ -22,6 +22,6 @@ where #[implement(super::Map)] #[tracing::instrument(skip(self), fields(%self), level = "trace")] pub fn raw_stream(&self) -> impl Stream>> + Send { - let opts = super::read_options_default(); + let opts = super::iter_options_default(); stream::Items::new(&self.db, &self.cf, opts).init(None) }