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 0867a688ddd0eb5d3a362fc850aea82093a298bc Author: Xuanwo <[email protected]> AuthorDate: Thu Dec 7 15:20:15 2023 +0800 Remove non-native feature Signed-off-by: Xuanwo <[email protected]> --- core/src/raw/adapters/kv/backend.rs | 70 ------------------------------------- 1 file changed, 70 deletions(-) diff --git a/core/src/raw/adapters/kv/backend.rs b/core/src/raw/adapters/kv/backend.rs index c4e68d8c7..d1773a36d 100644 --- a/core/src/raw/adapters/kv/backend.rs +++ b/core/src/raw/adapters/kv/backend.rs @@ -89,14 +89,6 @@ impl<S: Adapter> Accessor for Backend<S> { cap.delete = true; } - if cap.read && cap.write { - cap.copy = true; - } - - if cap.read && cap.write && cap.delete { - cap.rename = true; - } - if cap.list { cap.list_with_recursive = true; } @@ -204,68 +196,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>
