use libesedb::EseDb; fn main() { let filename = std::env::args() .nth(1) .expect("specify path to .esedb file"); let db = EseDb::open(&filename).unwrap(); println!("Database Overview ({}):", filename); for table in db.iter_tables().unwrap() { let table = table.unwrap(); println!( " {} [{:?}]", table.name().unwrap(), table .iter_columns() .unwrap() .map(|c| c.unwrap().name().unwrap()) .collect::>() .join(", "), ); for record in table.iter_records().unwrap() { let record = record.unwrap(); for i in 0..record.count_values().unwrap() { println!( " ├ T={:?} L={}, M={} V={:?}", table.column(i).unwrap().variant().unwrap(), record.is_long(i).unwrap(), record.is_multi(i).unwrap(), record.value(i).unwrap(), ); } } } }