This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch change-list-api
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit 73dc8a37378f7bc5d2044fbc5fd2767a38e0e518
Author: Xuanwo <[email protected]>
AuthorDate: Sun Aug 6 11:01:09 2023 +0800

    Save work
    
    Signed-off-by: Xuanwo <[email protected]>
---
 bindings/nodejs/src/lib.rs          | 9 ++++++++-
 bindings/object_store/src/lib.rs    | 3 ++-
 bindings/python/src/asyncio.rs      | 6 +++++-
 core/src/layers/immutable_index.rs  | 2 +-
 core/src/types/operator/operator.rs | 2 +-
 core/tests/behavior/list.rs         | 7 +++++--
 6 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/bindings/nodejs/src/lib.rs b/bindings/nodejs/src/lib.rs
index 5cc773dec..dbab75648 100644
--- a/bindings/nodejs/src/lib.rs
+++ b/bindings/nodejs/src/lib.rs
@@ -288,6 +288,7 @@ impl Operator {
     /// An error will be returned if given path doesn't end with /.
     ///
     /// ### Example
+    ///
     /// ```javascript
     /// const lister = await op.scan("/path/to/dir/");
     /// while (true) {
@@ -303,7 +304,13 @@ impl Operator {
     /// `````
     #[napi]
     pub async fn scan(&self, path: String) -> Result<Lister> {
-        Ok(Lister(self.0.scan(&path).await.map_err(format_napi_error)?))
+        Ok(Lister(
+            self.0
+                .lister_with(&path)
+                .delimiter("")
+                .await
+                .map_err(format_napi_error)?,
+        ))
     }
 
     /// List dir in flat way synchronously.
diff --git a/bindings/object_store/src/lib.rs b/bindings/object_store/src/lib.rs
index 8733033e2..4e6784639 100644
--- a/bindings/object_store/src/lib.rs
+++ b/bindings/object_store/src/lib.rs
@@ -148,7 +148,8 @@ impl ObjectStore for OpendalStore {
         let path = prefix.map_or("".into(), |x| format!("{}/", x));
         let stream = self
             .inner
-            .scan(&path)
+            .lister_with(&path)
+            .delimiter("")
             .await
             .map_err(|err| format_object_store_error(err, &path))?;
 
diff --git a/bindings/python/src/asyncio.rs b/bindings/python/src/asyncio.rs
index 709b81f83..4b33015fa 100644
--- a/bindings/python/src/asyncio.rs
+++ b/bindings/python/src/asyncio.rs
@@ -149,7 +149,11 @@ impl AsyncOperator {
     pub fn scan<'p>(&'p self, py: Python<'p>, path: String) -> PyResult<&'p 
PyAny> {
         let this = self.0.clone();
         future_into_py(py, async move {
-            let lister = this.scan(&path).await.map_err(format_pyerr)?;
+            let lister = this
+                .lister_with(&path)
+                .delimiter("")
+                .await
+                .map_err(format_pyerr)?;
             let pylister: PyObject = Python::with_gil(|py| 
AsyncLister::new(lister).into_py(py));
             Ok(pylister)
         })
diff --git a/core/src/layers/immutable_index.rs 
b/core/src/layers/immutable_index.rs
index 665d6f45d..cc2cf1907 100644
--- a/core/src/layers/immutable_index.rs
+++ b/core/src/layers/immutable_index.rs
@@ -452,7 +452,7 @@ mod tests {
         .layer(iil)
         .finish();
 
-        let mut ds = op.scan("/").await?;
+        let mut ds = op.lister_with("/").delimiter("").await?;
 
         let mut map = HashMap::new();
         let mut set = HashSet::new();
diff --git a/core/src/types/operator/operator.rs 
b/core/src/types/operator/operator.rs
index 49bc5e851..df88a223f 100644
--- a/core/src/types/operator/operator.rs
+++ b/core/src/types/operator/operator.rs
@@ -1232,7 +1232,7 @@ impl Operator {
             return self.delete(path).await;
         }
 
-        let obs = self.scan(path).await?;
+        let obs = self.lister_with(path).delimiter("").await?;
 
         if self.info().can_batch() {
             let mut obs = obs.try_chunks(self.limit());
diff --git a/core/tests/behavior/list.rs b/core/tests/behavior/list.rs
index 808748ce5..ed7067600 100644
--- a/core/tests/behavior/list.rs
+++ b/core/tests/behavior/list.rs
@@ -284,7 +284,7 @@ pub async fn test_list_with_start_after(op: Operator) -> 
Result<()> {
 }
 
 pub async fn test_scan_root(op: Operator) -> Result<()> {
-    let w = op.scan("").await?;
+    let w = op.lister_with("").delimiter("").await?;
     let actual = w
         .try_collect::<Vec<_>>()
         .await?
@@ -312,7 +312,10 @@ pub async fn test_scan(op: Operator) -> Result<()> {
         }
     }
 
-    let w = op.scan(&format!("{parent}/x/")).await?;
+    let w = op
+        .lister_with(&format!("{parent}/x/"))
+        .delimiter("")
+        .await?;
     let actual = w
         .try_collect::<Vec<_>>()
         .await?

Reply via email to