![Latest Version] ![Documentation] ![License]

This Rust crate extends odbc-iter crate functionality with ability to query Avro records and write entire ResultSet as Avro "Object Container File" data.

Example usage

Write Avro object container file data from query.

```rust use odbciter::Odbc; use odbcavro::{AvroConfiguration, AvroResultSet, Codec};

let mut connection = Odbc::connect(&std::env::var("DBCONNECTIONSTRING").expect("no DBCONNECTIONSTRING env set")).expect("connect to database");

// Configure handler with default AvroConfiguration. let mut db = connection.handlewithconfiguration(AvroConfiguration::default());

// For example query all table data from database. let data = db.query(r#"SELECT * FROM sys.tables"#).expect("query failed");

// You can use File instead to write Avro object container file or any other Write type. let mut buf = Vec::new();

// Write all rows as uncompressed Avro object container file where rows are represented as record object named "resultset". data.writeavro(&mut buf, Codec::Null, "result_set").expect("write worked");

// Now buf contains all rows from sys.tables table serialized Avro object container file. ```