@@ -97,6 +97,7 @@ impl RocksdbBackend {
9797 write_can_empty : true ,
9898 delete : true ,
9999 list : true ,
100+ list_with_recursive : true ,
100101 shared : false ,
101102 ..Default :: default ( )
102103 } ) ;
@@ -154,20 +155,21 @@ impl Access for RocksdbBackend {
154155
155156 async fn write ( & self , path : & str , _: OpWrite ) -> Result < ( RpWrite , Self :: Writer ) > {
156157 let p = build_abs_path ( & self . root , path) ;
157- Ok ( ( RpWrite :: new ( ) , RocksdbWriter :: new ( self . core . clone ( ) , p) ) )
158+ let writer = RocksdbWriter :: new ( self . core . clone ( ) , p) ;
159+ Ok ( ( RpWrite :: new ( ) , writer) )
158160 }
159161
160162 async fn delete ( & self ) -> Result < ( RpDelete , Self :: Deleter ) > {
161- Ok ( (
162- RpDelete :: default ( ) ,
163- oio:: OneShotDeleter :: new ( RocksdbDeleter :: new ( self . core . clone ( ) , self . root . clone ( ) ) ) ,
164- ) )
163+ let deleter = RocksdbDeleter :: new ( self . core . clone ( ) , self . root . clone ( ) ) ;
164+ Ok ( ( RpDelete :: default ( ) , oio:: OneShotDeleter :: new ( deleter) ) )
165165 }
166166
167167 async fn list ( & self , path : & str , args : OpList ) -> Result < ( RpList , Self :: Lister ) > {
168168 let p = build_abs_path ( & self . root , path) ;
169169 let lister = RocksdbLister :: new ( self . core . clone ( ) , self . root . clone ( ) , p) ?;
170- let lister = oio:: HierarchyLister :: new ( lister, path, args. recursive ( ) ) ;
171- Ok ( ( RpList :: default ( ) , lister) )
170+ Ok ( (
171+ RpList :: default ( ) ,
172+ oio:: HierarchyLister :: new ( lister, path, args. recursive ( ) ) ,
173+ ) )
172174 }
173175}
0 commit comments