arrowbatch 1.14.0

Reader for arrow-batch format
Documentation
use std::env;

use chrono::Local;
use arrowbatch::{
    proto::ArrowBatchTypes,
    reader::{ArrowBatchConfig, ArrowBatchContext, ArrowBatchSequentialReader}
};

#[test]
fn test_reader_incremental() {
    let config = ArrowBatchConfig {
        data_dir: "/data/arrow-data-full".to_string(),
        bucket_size: 10_000_000_u64,
        dump_size: 100_000_u64
    };

    env_logger::init();

    let context = ArrowBatchContext::new(config);

    context.lock().unwrap().reload_on_disk_buckets();

    let reader = ArrowBatchSequentialReader::new(1, 10_000_000_u64, context);

    for row in reader {
        let block_num = match row[1] {
            ArrowBatchTypes::U64(b) => b,
            _ => panic!("expected second column to be block num")
        };
        let evm_hash = match &row[4] {
            ArrowBatchTypes::Checksum256(h) => h,
            _ => panic!("expected fifth column to be evm hash")
        };
        if block_num % 1_000 == 0 {
            let now = Local::now();
            println!("{} | {}: {}", now.format("%Y-%m-%dT%H:%M:%S%.3f"), block_num, evm_hash);
        }
    }
}