Expand description
This is a simple client API for Sonnerie, a timeseries database.
It lets you do a variety of insertions and reads.
§Example
extern crate sonnerie_api;
fn main() -> std::io::Result<()>
{
let stream = std::net::TcpStream::connect("localhost:5599")?;
let mut client = sonnerie_api::Client::new(stream)?;
// read a series (a read transaction is automatically created and closed)
// start a write transaction
client.begin_write()?;
client.create_series("fibonacci", "u")?;
client.add_value(
"fibonacci",
&"2018-01-06T00:00:00".parse().unwrap(),
13.0,
)?;
let results: Vec<(sonnerie_api::NaiveDateTime, Vec<sonnerie_api::OwnedColumn>)> =
client.read_series("fibonacci")?;
for row in &results
{
// interpret each column as an integer
for col in &row.1 { let _: u32 = col.from(); }
}
// save the transaction
client.commit()?;
Ok(())
}
Structs§
- Sonnerie Client API
- This is a reference to a column’s value. You can call
from
to convert it to a concrete type. - A function returned by
Client::create_and_add
. - ISO 8601 combined date and time without timezone.
- Same as
Column
, except can be moved and is heavier weight. - Error for when client could not understand the server
- An object returned by
Client::add_rows
.
Enums§
- Indicates what direction to search chronologically.
Traits§
- This trait is implemented for the numeric types that Sonnerie supports.
Functions§
- The maximum timestamp allowed by Sonnerie.