// use sqlite_rs::SqliteConnection; // use std::{fs::File, io::Read}; use sqlite_rs::SqliteConnection; type AppResult = Result; type AppError = Box; fn main() -> AppResult<()> { SqliteInfo::run()?; Ok(()) } struct SqliteInfo; impl SqliteInfo { fn run() -> AppResult<()> { let files = [ "./data/flights-initial.db", "./data/flights-populated.db", "./data/flights-deleted.db", "./data/mydatabase.db", ]; files.iter().try_for_each(|file_path| -> AppResult<()> { let conn = SqliteConnection::open(format!("sqlite://{file_path}"))?; // let sqlite_database = Self::read_bytes(&file)?; println!("[{file_path}]:"); Self::print_sqlite_info(&conn)?; Ok(()) })?; Ok(()) } fn print_sqlite_info(conn: &SqliteConnection) -> AppResult<()> { const LABEL_WIDTH: usize = 21; // TODO: let sqlite_header = conn.runtime().header(); let mut output = "".to_owned(); output.push_str(&format!( "{label: