[][src]Crate vinyl_embly

Vinyl is

use embly::Future;
use failure::Error;
use vinyl_embly::query::field;
use vinyl_embly::DB;

use vinyl_core::proto::example::{Color, Flower, Order};

fn main() -> Result<(), Error> {
    let db = DB::new("flowers")?;

    let mut order = Order::new();
    order.order_id = 2;
    order.price = 20;

    let mut flower = Flower::new();
    flower.field_type = String::from("ROSE");
    flower.color = Color::RED;

    order.set_flower(flower);
    db.insert(order)?.wait()?;

    let orders: Vec<Order> = db
        .execute_query(
            field("price").less_than(50) &
            field("flower").matches(field("type").equals("ROSE")),
        )?
        .wait()?;

    db.delete_record::<Order, i32>(2)?.wait()?;

    Ok(())
}

Modules

query

define complex queries

Structs

DB

the db

DefaultValue

defines various defalt and on-update field values

RecordFuture

record future

RecordsFuture

a future that returns records

ResponseFuture

a future for an empty response

Traits

ToValue

ToValue is implemented for all rust types that can be converted to protobuf values