use acta::Reader;
fn main() -> acta::Result<()> {
let path = std::env::args()
.nth(1)
.unwrap_or_else(|| "spec/v0.2/fixtures/minimal/minimal.acta".to_owned());
let reader = Reader::open(&path)?;
let metadata = reader.file_metadata();
println!(
"{path}: {} block(s), {} row(s), schema id {}",
metadata.block_count(),
reader.total_rows(),
metadata.schema_id(),
);
for (index, block) in reader.scan().enumerate() {
let batch = block?;
println!("block {index}: {} row(s)", batch.row_count());
for row in 0..batch.row_count() {
let values: Vec<_> = batch.columns().iter().map(|c| c.value_at(row)).collect();
println!(" row {row}: {values:?}");
}
}
Ok(())
}