You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This library is the official client for the free and open-source NoSQL database Skytable. First, go ahead and install Skytable by following the instructions here. This library supports all Skytable versions that work with the Skyhash 2 Protocol. This version of the library was tested with the latest Skytable release (release 0.8.4). Read more about supported versions here.
This library only ships with the bare minimum that is required for interacting with Skytable. Once you have
Skytable installed and running, you're ready to follow this guide!
We'll start by creating a new binary application and then running actions. Create a new binary application
by running:
cargo new skyapp
Tip: You can see a full list of the available actions here.
First add this to your Cargo.toml file:
skytable = "0.8"
You're ready to go!
use skytable::{Query,Response,Config, query,
response::Rows,};#[derive(Query,Response)]#[derive(Clone,PartialEq,Debug)]// we just do these for the assert (they are not needed)structUser{userid:String,pass:String,followers:u64,email:Option<String>}let our_user = User{userid:"user".into(),pass:"pass".into(),followers:120,email:None};letmut db = Config::new_default("username","password").connect().unwrap();// insert datalet q = query!("insert into myspace.mymodel(?, ?, ?, ?)", our_user.clone());
db.query_parse::<()>(&q).unwrap();// select datalet user:User = db.query_parse(&query!("select * from myspace.mymodel where username = ?",&our_user.userid)).unwrap();assert_eq!(user, our_user);// select multiple rowslet users:Rows<User> = db.query_parse(&query!("select all * from myspace.mymodel limit ?",1000u64)).unwrap();assert_eq!(users[0].userid,"user");
Contributions are always welcome. To submit patches please fork this repository and submit a pull request. If you find any bugs, please open an issue here.