@@ -75,16 +75,23 @@ impl QueryCache {
75
75
}
76
76
}
77
77
78
- pub fn get_file ( & mut self , key : CacheMetadata ) -> Option < PathBuf > {
79
- self . files . get ( & key) . cloned ( )
78
+ pub fn get_file ( & mut self , key : & CacheMetadata ) -> Option < PathBuf > {
79
+ self . files . get ( key) . cloned ( )
80
80
}
81
81
82
82
pub fn used_cache_size ( & self ) -> u64 {
83
83
self . current_size
84
84
}
85
85
86
- pub fn remove ( & mut self , key : CacheMetadata ) -> Option < PathBuf > {
87
- self . files . remove ( & key)
86
+ pub fn remove ( & mut self , key : & CacheMetadata ) -> Option < PathBuf > {
87
+ self . files . remove ( key)
88
+ }
89
+
90
+ pub async fn delete ( & mut self , key : & CacheMetadata , path : PathBuf ) -> Result < ( ) , CacheError > {
91
+ self . files . delete ( key) ;
92
+ AsyncFs :: remove_file ( path) . await ?;
93
+
94
+ Ok ( ( ) )
88
95
}
89
96
90
97
pub fn queries ( & self ) -> Vec < & CacheMetadata > {
@@ -257,7 +264,7 @@ impl QueryCacheManager {
257
264
) -> Result < ( ) , CacheError > {
258
265
let mut cache = self . get_cache ( stream, user_id) . await ?;
259
266
260
- if let Some ( remove_result) = cache. remove ( key) {
267
+ if let Some ( remove_result) = cache. remove ( & key) {
261
268
self . put_cache ( stream, & cache, user_id) . await ?;
262
269
tokio:: spawn ( fs:: remove_file ( remove_result) ) ;
263
270
Ok ( ( ) )
@@ -339,12 +346,7 @@ impl QueryCacheManager {
339
346
return Ok ( ( ) ) ;
340
347
} ;
341
348
342
-
343
- let mut arrow_writer = AsyncArrowWriter :: try_new (
344
- parquet_file,
345
- sch,
346
- Some ( props) ,
347
- ) ?;
349
+ let mut arrow_writer = AsyncArrowWriter :: try_new ( parquet_file, sch, Some ( props) ) ?;
348
350
349
351
for record in records {
350
352
if let Err ( e) = arrow_writer. write ( record) . await {
0 commit comments