From 139778dfb3196fd61e83c5a4f46967fae07bcd48 Mon Sep 17 00:00:00 2001 From: Sahir Hoda <50241373+shoda-tibco@users.noreply.github.com> Date: Fri, 9 Apr 2021 10:34:13 -0700 Subject: [PATCH] Expose Cache::DisownData in C API (#8160) Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/8160 Reviewed By: riversand963 Differential Revision: D27672474 Pulled By: ajkr fbshipit-source-id: fdbbc3398f0b1d4cef6b68636e5caf369c34b3a7 --- db/c.cc | 4 ++++ db/c_test.c | 1 + include/rocksdb/c.h | 2 ++ 3 files changed, 7 insertions(+) diff --git a/db/c.cc b/db/c.cc index 73c9db501..6cf194c50 100644 --- a/db/c.cc +++ b/db/c.cc @@ -4112,6 +4112,10 @@ void rocksdb_cache_destroy(rocksdb_cache_t* cache) { delete cache; } +void rocksdb_cache_disown_data(rocksdb_cache_t* cache) { + cache->rep->DisownData(); +} + void rocksdb_cache_set_capacity(rocksdb_cache_t* cache, size_t capacity) { cache->rep->SetCapacity(capacity); } diff --git a/db/c_test.c b/db/c_test.c index 4beedfceb..37a2bc55a 100644 --- a/db/c_test.c +++ b/db/c_test.c @@ -2869,6 +2869,7 @@ int main(int argc, char** argv) { rocksdb_readoptions_destroy(roptions); rocksdb_writeoptions_destroy(woptions); rocksdb_compactoptions_destroy(coptions); + rocksdb_cache_disown_data(cache); rocksdb_cache_destroy(cache); rocksdb_comparator_destroy(cmp); rocksdb_dbpath_destroy(dbpath); diff --git a/include/rocksdb/c.h b/include/rocksdb/c.h index e2ae48a4e..ece2ff443 100644 --- a/include/rocksdb/c.h +++ b/include/rocksdb/c.h @@ -1712,6 +1712,8 @@ extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushoptions_get_wait( extern ROCKSDB_LIBRARY_API rocksdb_cache_t* rocksdb_cache_create_lru( size_t capacity); extern ROCKSDB_LIBRARY_API void rocksdb_cache_destroy(rocksdb_cache_t* cache); +extern ROCKSDB_LIBRARY_API void rocksdb_cache_disown_data( + rocksdb_cache_t* cache); extern ROCKSDB_LIBRARY_API void rocksdb_cache_set_capacity( rocksdb_cache_t* cache, size_t capacity); extern ROCKSDB_LIBRARY_API size_t