Struct skytable::Connection
source · pub struct Connection(/* private fields */);
Expand description
A skyhash/TCP
connection
Specification
- Protocol version:
Skyhash/2.0
- Query mode:
QTDEX-1A/BQL-S1
- Authentication plugin:
pwd
Methods from Deref<Target = TcpConnection<TcpStream>>§
sourcepub fn execute_pipeline(
&mut self,
pipeline: &Pipeline
) -> ClientResult<Vec<Response>>
pub fn execute_pipeline( &mut self, pipeline: &Pipeline ) -> ClientResult<Vec<Response>>
Execute a pipeline. The server returns the queries in the order they were sent (unless otherwise set).
sourcepub fn query(&mut self, q: &Query) -> ClientResult<Response>
pub fn query(&mut self, q: &Query) -> ClientResult<Response>
Run a query and return a raw Response
sourcepub fn query_parse<T: FromResponse>(&mut self, q: &Query) -> ClientResult<T>
pub fn query_parse<T: FromResponse>(&mut self, q: &Query) -> ClientResult<T>
Run and parse a query into the indicated type. The type must implement FromResponse
Examples found in repository?
examples/custom_types.rs (line 50)
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 17)
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 reset_buffer(&mut self)
pub fn reset_buffer(&mut self)
Call this if the internally allocated buffer is growing too large and impacting your performance. However, normally you will not need to call this
Trait Implementations§
source§impl Debug for Connection
impl Debug for Connection
source§impl Deref for Connection
impl Deref for Connection
Auto Trait Implementations§
impl Freeze for Connection
impl RefUnwindSafe for Connection
impl Send for Connection
impl Sync for Connection
impl Unpin for Connection
impl UnwindSafe for Connection
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