You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/12/07 07:29:27 UTC
(incubator-opendal) 04/05: Remove non-native feature
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 d53d6dc394add5fdf4f3bed6ecb95444e4b2d8c6
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Thu Dec 7 15:20:51 2023 +0800
Remove non-native feature
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
core/src/raw/adapters/typed_kv/backend.rs | 67 -------------------------------
1 file changed, 67 deletions(-)
diff --git a/core/src/raw/adapters/typed_kv/backend.rs b/core/src/raw/adapters/typed_kv/backend.rs
index 266d41724..3f0f3beae 100644
--- a/core/src/raw/adapters/typed_kv/backend.rs
+++ b/core/src/raw/adapters/typed_kv/backend.rs
@@ -97,13 +97,6 @@ impl<S: Adapter> Accessor for Backend<S> {
cap.list_with_recursive = true;
}
- if cap.read && cap.write {
- cap.copy = true;
- }
-
- if cap.read && cap.write && cap.delete {
- cap.rename = true;
- }
cap.blocking = true;
am.set_native_capability(cap);
@@ -207,66 +200,6 @@ impl<S: Adapter> Accessor for Backend<S> {
Ok((RpList::default(), lister))
}
-
- async fn rename(&self, from: &str, to: &str, _: OpRename) -> Result<RpRename> {
- let from = build_abs_path(&self.root, from);
- let to = build_abs_path(&self.root, to);
-
- let bs = match self.kv.get(&from).await? {
- // TODO: we can reuse the metadata in value to build content range.
- Some(bs) => bs,
- None => return Err(Error::new(ErrorKind::NotFound, "kv doesn't have this path")),
- };
-
- self.kv.set(&to, bs).await?;
- self.kv.delete(&from).await?;
- Ok(RpRename::default())
- }
-
- fn blocking_rename(&self, from: &str, to: &str, _: OpRename) -> Result<RpRename> {
- let from = build_abs_path(&self.root, from);
- let to = build_abs_path(&self.root, to);
-
- let bs = match self.kv.blocking_get(&from)? {
- // TODO: we can reuse the metadata in value to build content range.
- Some(bs) => bs,
- None => return Err(Error::new(ErrorKind::NotFound, "kv doesn't have this path")),
- };
-
- self.kv.blocking_set(&to, bs)?;
- self.kv.blocking_delete(&from)?;
- Ok(RpRename::default())
- }
-
- async fn copy(&self, from: &str, to: &str, _: OpCopy) -> Result<RpCopy> {
- let from = build_abs_path(&self.root, from);
- let to = build_abs_path(&self.root, to);
-
- let bs = match self.kv.get(&from).await? {
- // TODO: we can reuse the metadata in value to build content range.
- Some(bs) => bs,
- None => return Err(Error::new(ErrorKind::NotFound, "kv doesn't have this path")),
- };
-
- self.kv.set(&to, bs).await?;
-
- Ok(RpCopy::default())
- }
-
- fn blocking_copy(&self, from: &str, to: &str, _: OpCopy) -> Result<RpCopy> {
- let from = build_abs_path(&self.root, from);
- let to = build_abs_path(&self.root, to);
-
- let bs = match self.kv.blocking_get(&from)? {
- // TODO: we can reuse the metadata in value to build content range.
- Some(bs) => bs,
- None => return Err(Error::new(ErrorKind::NotFound, "kv doesn't have this path")),
- };
-
- self.kv.blocking_set(&to, bs)?;
-
- Ok(RpCopy::default())
- }
}
impl<S> Backend<S>