orientdb-client 0.3.0

A Rust client for OrientDB™
Documentation

orientdb-rs

Build Status Codecov Status Crates.io Crates.io Download License Docs dependency status Codacy Badge

OrientDB Client

A Rust Client for OrientDB.

Installation

Install from crates.io

[dependencies]
orientdb_client = "*"

Example

Basic Usage Synchronous


use orientdb_client::{OrientDB};

fn main() -> Result<(), Box<std::error::Error>> {
    let client = OrientDB::connect(("localhost",2424))?;

    let session = client.session("demodb","admin","admin")?;

    let results : Vec<_> = session.query("select from V where id = :param").named(&[("param", &1)]).run()?.collect();


    println!("{:?}", results);

    Ok(())
}

Basic Usage Asynchronous

use async_std::task::block_on;
use futures::StreamExt;
use orientdb_client::aio::OrientDB;
use orientdb_client::OrientResult;

fn main() -> OrientResult<()> {
    block_on(async {
        let client = OrientDB::connect(("localhost", 2424)).await?;

        let session = client.session("demodb", "admin", "admin").await?;

        let mut stream = session.query("select from V limit 10").run().await?;

        while let Some(item) = stream.next().await {
            println!("Record {:?}", item?);
        }

        Ok(())
    })
}

Development

Compiling

git clone https://github.com/wolf4ood/orientdb-rs.git
cd orientdb-rs
cargo build

Running Tests

You can use docker-compose to start an instance for testing. Use the env variable ORIENTDB_SERVER in order to specify the version of OrientDB

cd docker-compose
export ORIENTDB_SERVER=3.0.23
docker-compose up -d
cd ..
cargo test