fn collect_rows<T, F>( database: MSIHANDLE, query: &str, parse_row: F, ) -> Result<Vec<T>>where F: FnMut(MSIHANDLE) -> Result<T>,