pub struct Config { /* private fields */ }
Expand description
Configuration for a Skytable connection
Implementations§
source§impl Config
impl Config
sourcepub fn new_default(username: &str, password: &str) -> Self
pub fn new_default(username: &str, password: &str) -> Self
Create a new Config
using the default connection settings and using the provided username and password
Examples found in repository?
examples/custom_types.rs (line 44)
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
fn main() {
let mut db = Config::new_default("username", "password")
.connect()
.unwrap();
// set up schema
// create space
db.query_parse::<()>(&query!("create space myspace"))
.unwrap();
// create model
db.query_parse::<()>(&query!(
"create model myspace.mymodel(username: string, password: string, followers: uint64, null email: string"
))
.unwrap();
// insert data
let our_user = User::new("myuser".into(), "pass123".into(), 0, None);
db.query_parse::<()>(&query!(
"insert into myspace.mymodel(?, ?, ?, ?)",
our_user.clone()
))
.unwrap();
// select data
let ret_user: User = db
.query_parse(&query!(
"select * from myspace.mymodel WHERE username = ?",
&our_user.username
))
.unwrap();
assert_eq!(our_user, ret_user);
}
More examples
examples/simple.rs (line 11)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
fn main() {
let mut db = Config::new_default("username", "password")
.connect()
.unwrap();
// set up schema
// create space
db.query_parse::<()>(&query!("create space myspace"))
.unwrap();
// create model
db.query_parse::<()>(&query!(
"create model myspace.mymodel(username: string, password: string, followers: uint64"
))
.unwrap();
// manipulate data
let (form_username, form_pass) = dummy_web_fetch_username_password();
// insert some data
db.query_parse::<()>(&query!(
"insert into myspace.mymodel(?, ?, ?)",
&form_username,
form_pass,
100_000_000u64
))
.unwrap();
// get it back
let (password, followers): (String, u64) = db
.query_parse(&query!(
"select password, followers FROM myspace.mymodel WHERE username = ?",
&form_username
))
.unwrap();
assert_eq!(password, "rick123", "password changed!");
// send to our client
dummy_respond_to_request(followers);
// update followers to account for huge numbers who were angry after being rickrolled
db.query_parse::<()>(&query!(
"update myspace.mymodel SET followers -= ? WHERE username = ?",
50_000_000u64,
&form_username
))
.unwrap();
// alright, everyone is tired from being rickrolled so we'll have to ban rick's account
db.query_parse::<()>(&query!(
"delete from myspace.mymodel where username = ?",
&form_username
))
.unwrap();
}
source§impl Config
impl Config
sourcepub async fn connect_async(&self) -> ClientResult<ConnectionAsync>
pub async fn connect_async(&self) -> ClientResult<ConnectionAsync>
Establish an async connection to the database using the current configuration
sourcepub async fn connect_tls_async(
&self,
cert: &str
) -> ClientResult<ConnectionTlsAsync>
pub async fn connect_tls_async( &self, cert: &str ) -> ClientResult<ConnectionTlsAsync>
Establish an async TLS connection to the database using the current configuration. Pass the certificate in PEM format.
source§impl Config
impl Config
sourcepub fn connect(&self) -> ClientResult<Connection>
pub fn connect(&self) -> ClientResult<Connection>
Establish a connection to the database using the current configuration
Examples found in repository?
examples/custom_types.rs (line 45)
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
fn main() {
let mut db = Config::new_default("username", "password")
.connect()
.unwrap();
// set up schema
// create space
db.query_parse::<()>(&query!("create space myspace"))
.unwrap();
// create model
db.query_parse::<()>(&query!(
"create model myspace.mymodel(username: string, password: string, followers: uint64, null email: string"
))
.unwrap();
// insert data
let our_user = User::new("myuser".into(), "pass123".into(), 0, None);
db.query_parse::<()>(&query!(
"insert into myspace.mymodel(?, ?, ?, ?)",
our_user.clone()
))
.unwrap();
// select data
let ret_user: User = db
.query_parse(&query!(
"select * from myspace.mymodel WHERE username = ?",
&our_user.username
))
.unwrap();
assert_eq!(our_user, ret_user);
}
More examples
examples/simple.rs (line 12)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
fn main() {
let mut db = Config::new_default("username", "password")
.connect()
.unwrap();
// set up schema
// create space
db.query_parse::<()>(&query!("create space myspace"))
.unwrap();
// create model
db.query_parse::<()>(&query!(
"create model myspace.mymodel(username: string, password: string, followers: uint64"
))
.unwrap();
// manipulate data
let (form_username, form_pass) = dummy_web_fetch_username_password();
// insert some data
db.query_parse::<()>(&query!(
"insert into myspace.mymodel(?, ?, ?)",
&form_username,
form_pass,
100_000_000u64
))
.unwrap();
// get it back
let (password, followers): (String, u64) = db
.query_parse(&query!(
"select password, followers FROM myspace.mymodel WHERE username = ?",
&form_username
))
.unwrap();
assert_eq!(password, "rick123", "password changed!");
// send to our client
dummy_respond_to_request(followers);
// update followers to account for huge numbers who were angry after being rickrolled
db.query_parse::<()>(&query!(
"update myspace.mymodel SET followers -= ? WHERE username = ?",
50_000_000u64,
&form_username
))
.unwrap();
// alright, everyone is tired from being rickrolled so we'll have to ban rick's account
db.query_parse::<()>(&query!(
"delete from myspace.mymodel where username = ?",
&form_username
))
.unwrap();
}
sourcepub fn connect_tls(&self, cert: &str) -> ClientResult<ConnectionTls>
pub fn connect_tls(&self, cert: &str) -> ClientResult<ConnectionTls>
Establish a TLS connection to the database using the current configuration. Pass the certificate in PEM format.
Trait Implementations§
source§impl PartialEq for Config
impl PartialEq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more