#![warn(missing_docs)]
pub mod utils;
pub mod seq;
pub mod col;
pub mod list;
pub mod heap;
pub mod index;
pub mod items;
pub mod datatype;
pub mod dataset;
pub mod conn;
pub mod prelude;
pub use crate::prelude::*;
#[cfg(test)]
mod tests {
use super::*;
#[tokio::test]
async fn test() -> tokio::io::Result<()> {
let conn = Conn::new("./tmp/lb3").await?;
if !conn.feed_exists("xyz").await {
conn.feed_add("xyz").await?;
}
println!(
"Feed list: {:?}",
conn.feed_list().await.iter()
.map(|i| i.get_name())
.collect::<Vec<String>>()
);
if !conn.col_exists("xyz", "x").await? {
conn.col_add("xyz", "x", "Int64").await?;
}
if !conn.col_exists("xyz", "y").await? {
conn.col_add("xyz", "y", "Float64").await?;
}
println!(
"Col list: {:?}",
conn.col_list("xyz").await?.iter()
.map(|i| i.get_name())
.collect::<Vec<String>>()
);
if conn.size_get("xyz").await? == 0 {
let ds: Dataset = std::collections::HashMap::from([
("x".to_string(), vec![Dataunit::I(2), Dataunit::I(5)]),
("y".to_string(), vec![Dataunit::F(2.15), Dataunit::F(5.55)]),
]);
conn.data_push("xyz", &ds).await?;
}
println!("Size: {:?}", conn.size_get("xyz").await?);
let ds = conn.data_get("xyz", 0, 2,
&["x".to_string(), "y".to_string()]).await?;
println!("ds = {:?}", ds);
Ok(())
}
}