diff --git a/datafusion/execution/src/cache/cache_unit.rs b/datafusion/execution/src/cache/cache_unit.rs index d27c266b768a..0f9cff54d587 100644 --- a/datafusion/execution/src/cache/cache_unit.rs +++ b/datafusion/execution/src/cache/cache_unit.rs @@ -87,7 +87,7 @@ impl CacheAccessor> for DefaultFileStatisticsCache { .map(|x| x.1) } - fn remove(&mut self, k: &Path) -> Option> { + fn remove(&self, k: &Path) -> Option> { self.statistics.remove(k).map(|x| x.1 .1) } @@ -151,7 +151,7 @@ impl CacheAccessor>> for DefaultListFilesCache { panic!("Not supported DefaultListFilesCache put_with_extra") } - fn remove(&mut self, k: &Path) -> Option>> { + fn remove(&self, k: &Path) -> Option>> { self.statistics.remove(k).map(|x| x.1) } @@ -399,7 +399,7 @@ impl CacheAccessor> for DefaultFilesMetadataCa self.put(key, value) } - fn remove(&mut self, k: &ObjectMeta) -> Option> { + fn remove(&self, k: &ObjectMeta) -> Option> { let mut state = self.state.lock().unwrap(); state.remove(k) } @@ -542,7 +542,7 @@ mod tests { metadata: "retrieved_metadata".to_owned(), }); - let mut cache = DefaultFilesMetadataCache::new(1024 * 1024); + let cache = DefaultFilesMetadataCache::new(1024 * 1024); assert!(cache.get(&object_meta).is_none()); // put @@ -610,7 +610,7 @@ mod tests { #[test] fn test_default_file_metadata_cache_with_limit() { - let mut cache = DefaultFilesMetadataCache::new(1000); + let cache = DefaultFilesMetadataCache::new(1000); let (object_meta1, metadata1) = generate_test_metadata_with_size("1", 100); let (object_meta2, metadata2) = generate_test_metadata_with_size("2", 500); let (object_meta3, metadata3) = generate_test_metadata_with_size("3", 300); @@ -726,7 +726,7 @@ mod tests { #[test] fn test_default_file_metadata_cache_entries_info() { - let mut cache = DefaultFilesMetadataCache::new(1000); + let cache = DefaultFilesMetadataCache::new(1000); let (object_meta1, metadata1) = generate_test_metadata_with_size("1", 100); let (object_meta2, metadata2) = generate_test_metadata_with_size("2", 200); let (object_meta3, metadata3) = generate_test_metadata_with_size("3", 300); diff --git a/datafusion/execution/src/cache/mod.rs b/datafusion/execution/src/cache/mod.rs index b1857c94facd..6e0737154dec 100644 --- a/datafusion/execution/src/cache/mod.rs +++ b/datafusion/execution/src/cache/mod.rs @@ -36,7 +36,7 @@ pub trait CacheAccessor: Send + Sync { /// Put value into cache. Returns the old value associated with the key if there was one. fn put_with_extra(&self, key: &K, value: V, e: &Self::Extra) -> Option; /// Remove an entry from the cache, returning value if they existed in the map. - fn remove(&mut self, k: &K) -> Option; + fn remove(&self, k: &K) -> Option; /// Check if the cache contains a specific key. fn contains_key(&self, k: &K) -> bool; /// Fetch the total number of cache entries. diff --git a/docs/source/library-user-guide/upgrading.md b/docs/source/library-user-guide/upgrading.md index 828892300860..763432626c07 100644 --- a/docs/source/library-user-guide/upgrading.md +++ b/docs/source/library-user-guide/upgrading.md @@ -67,6 +67,10 @@ SELECT median(c1) IGNORE NULLS FROM table Instead of silently succeeding. +### API change for `CacheAccessor` trait + +The remove API no longer requires a mutable instance + ## DataFusion `51.0.0` ### `arrow` / `parquet` updated to 57.0.0