1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
extern crate bson; extern crate ejdb; use std::env; use std::io::Write; use ejdb::Database; macro_rules! abort { ($code:expr, $($args:tt)*) => {{ let _ = writeln!(&mut ::std::io::stderr(), $($args)*); ::std::process::exit($code); }} } fn main() { let db_path = env::args() .nth(1) .unwrap_or_else(|| abort!(1, "Usage: ejdb-stat <database>")); let db = Database::open(db_path).unwrap_or_else(|e| abort!(1, "Error opening database: {}", e)); println!("Metadata:"); let meta = db .get_metadata() .unwrap_or_else(|e| abort!(1, "Error loading metadata: {}", e)); println!("{}", bson::Bson::Document(meta.into_inner())); }