This Rust crate extends odbc-iter
crate functionality with ability to query Avro records and write entire ResultSet
as Avro "Object Container File" data.
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.
```