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 <[email protected]> AuthorDate: Thu Dec 7 15:20:51 2023 +0800 Remove non-native feature Signed-off-by: Xuanwo <[email protected]> --- 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>
