This is an automated email from the ASF dual-hosted git repository. xuanwo pushed a commit to branch refactor-lister in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
commit d90109a8ca6b66fea5c5642d78a50db7db35b710 Author: Xuanwo <[email protected]> AuthorDate: Thu Dec 7 15:29:12 2023 +0800 Fix kv Signed-off-by: Xuanwo <[email protected]> --- core/src/raw/adapters/kv/backend.rs | 7 +++++-- core/src/raw/adapters/typed_kv/backend.rs | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/core/src/raw/adapters/kv/backend.rs b/core/src/raw/adapters/kv/backend.rs index d1773a36d..51ab334d3 100644 --- a/core/src/raw/adapters/kv/backend.rs +++ b/core/src/raw/adapters/kv/backend.rs @@ -28,6 +28,7 @@ use futures::future::BoxFuture; use futures::FutureExt; use super::Adapter; +use crate::raw::oio::HierarchyLister; use crate::raw::*; use crate::*; @@ -69,8 +70,8 @@ impl<S: Adapter> Accessor for Backend<S> { type BlockingReader = oio::Cursor; type Writer = KvWriter<S>; type BlockingWriter = KvWriter<S>; - type Lister = KvLister; - type BlockingLister = KvLister; + type Lister = HierarchyLister<KvLister>; + type BlockingLister = HierarchyLister<KvLister>; fn info(&self) -> AccessorInfo { let mut am: AccessorInfo = self.kv.metadata().into(); @@ -185,6 +186,7 @@ impl<S: Adapter> Accessor for Backend<S> { let p = build_abs_path(&self.root, path); let res = self.kv.scan(&p).await?; let lister = KvLister::new(&self.root, res); + let lister = HierarchyLister::new(lister, path); Ok((RpList::default(), lister)) } @@ -193,6 +195,7 @@ impl<S: Adapter> Accessor for Backend<S> { let p = build_abs_path(&self.root, path); let res = self.kv.blocking_scan(&p)?; let lister = KvLister::new(&self.root, res); + let lister = HierarchyLister::new(lister, path); Ok((RpList::default(), lister)) } diff --git a/core/src/raw/adapters/typed_kv/backend.rs b/core/src/raw/adapters/typed_kv/backend.rs index 3f0f3beae..a16a63de5 100644 --- a/core/src/raw/adapters/typed_kv/backend.rs +++ b/core/src/raw/adapters/typed_kv/backend.rs @@ -28,6 +28,7 @@ use futures::FutureExt; use super::Adapter; use super::Value; +use crate::raw::oio::HierarchyLister; use crate::raw::*; use crate::*; @@ -63,8 +64,8 @@ impl<S: Adapter> Accessor for Backend<S> { type BlockingReader = oio::Cursor; type Writer = KvWriter<S>; type BlockingWriter = KvWriter<S>; - type Lister = KvLister; - type BlockingLister = KvLister; + type Lister = HierarchyLister<KvLister>; + type BlockingLister = HierarchyLister<KvLister>; fn info(&self) -> AccessorInfo { let kv_info = self.kv.info(); @@ -189,6 +190,7 @@ impl<S: Adapter> Accessor for Backend<S> { let p = build_abs_path(&self.root, path); let res = self.kv.scan(&p).await?; let lister = KvLister::new(&self.root, res); + let lister = HierarchyLister::new(lister, path); Ok((RpList::default(), lister)) } @@ -197,6 +199,7 @@ impl<S: Adapter> Accessor for Backend<S> { let p = build_abs_path(&self.root, path); let res = self.kv.blocking_scan(&p)?; let lister = KvLister::new(&self.root, res); + let lister = HierarchyLister::new(lister, path); Ok((RpList::default(), lister)) }
