From 84c7eaf1d0032fa86dbb5fc879ac4fdece51ade4 Mon Sep 17 00:00:00 2001 From: Rostyslav Tyshko Date: Mon, 9 Dec 2024 04:00:08 +0100 Subject: [PATCH] add destroy function --- storage/src/lib.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/storage/src/lib.rs b/storage/src/lib.rs index 167e5d2..20e5248 100644 --- a/storage/src/lib.rs +++ b/storage/src/lib.rs @@ -92,6 +92,22 @@ impl RocksDBIO { } } + pub fn destroy(path: &Path) -> DbResult<()> { + let mut cf_opts = Options::default(); + cf_opts.set_max_write_buffer_number(16); + //ToDo: Add more column families for different data + let cfb = ColumnFamilyDescriptor::new(CF_BLOCK_NAME, cf_opts.clone()); + let cfmeta = ColumnFamilyDescriptor::new(CF_META_NAME, cf_opts.clone()); + + let mut db_opts = Options::default(); + db_opts.create_missing_column_families(true); + db_opts.create_if_missing(true); + DBWithThreadMode::::destroy( + &db_opts, + path, + ).map_err(|rerr| DbError::rocksdb_cast_message(rerr, None)) + } + pub fn meta_column(&self) -> Arc { self.db.cf_handle(CF_META_NAME).unwrap() }