master
Martin Ek 5 years ago
parent 369d2ab8a6
commit 33d30d4ca1
  1. 7
      src/db.rs
  2. 47
      tests/test_property.rs

@ -1170,12 +1170,7 @@ impl DB {
pub fn property_value_cf(&self, cf: ColumnFamily, name: &str) -> Option<String> {
let prop_name = CString::new(name).unwrap();
unsafe {
let value = ffi::rocksdb_property_value_cf(
self.inner,
cf.inner,
prop_name.as_ptr()
);
let value = ffi::rocksdb_property_value_cf(self.inner, cf.inner, prop_name.as_ptr());
if value.is_null() {
return None;
}

@ -0,0 +1,47 @@
// Copyright 2019 Tyler Neely
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
extern crate rocksdb;
mod util;
use rocksdb::{Options, DB};
use util::DBPath;
#[test]
fn property_test() {
let n = DBPath::new("_rust_rocksdb_property_test");
{
let db = DB::open_default(&n).unwrap();
let value = db
.property_int_value("rocksdb.estimate-live-data-size")
.unwrap();
assert!(value == 0);
}
}
#[test]
fn property_cf_test() {
let n = DBPath::new("_rust_rocksdb_property_cf_test");
{
let opts = Options::default();
let db = DB::open_default(&n).unwrap();
let cf = db.create_cf("cf1", &opts).unwrap();
let total_keys = db
.property_int_value_cf(cf, "rocksdb.estimate-num-keys")
.unwrap() as usize;
assert!(total_keys == 0);
}
}
Loading…
Cancel
Save