Struct skytable::Query [−][src]
pub struct Query { /* fields omitted */ }
Expand description
This struct represents a single simple query as defined by the Skyhash protocol
A simple query is serialized into a flat string array which is nothing but a Skyhash serialized equivalent
of an array of String
items. To construct a query like SET x 100
, one needs to:
use skytable::Query; fn main() { let q = Query::new().arg("set").arg("x").arg("100"); }
You can now run this with a Connection
or an AsyncConnection
. You can also created queries From
objects that can be turned into actions. For example, these are completely valid constructions:
use skytable::Query; let q1 = Query::from(["mget", "x", "y", "z"]); let q2 = Query::from(vec!["mset", "x", "100", "y", "200", "z", "300"]); let q3 = Query::from("get").arg("x");
Finally, queries can also be created by taking references. For example:
use skytable::Query; let my_keys = vec!["key1", "key2", "key3"]; let mut q = Query::new(); for key in my_keys { q.push(key); }
Implementations
impl Query
[src]
impl Query
[src]pub fn arg(self, arg: impl IntoSkyhashAction) -> Self
[src]
pub fn arg(self, arg: impl IntoSkyhashAction) -> Self
[src]Add an argument to a query returning a Query
. This can be used for queries built using the
builder pattern. If you need to add items, by reference, consider using Query::push
Panics
This method will panic if the passed arg
is empty
pub fn push(&mut self, arg: impl IntoSkyhashAction)
[src]
pub fn push(&mut self, arg: impl IntoSkyhashAction)
[src]Add an argument to a query taking a reference to it
This is useful if you are adding queries in a loop than building it using the builder
pattern (to use the builder-pattern, use Query::arg
)
Panics
This method will panic if the passed arg
is empty
pub fn into_raw_query(&self) -> Vec<u8>
[src]
This is supported on crate feature dbg
only.
pub fn into_raw_query(&self) -> Vec<u8>
[src]dbg
only.Get the raw bytes of a query
This is a function that is not intended for daily use but is for developers working to improve/debug or extend the Skyhash protocol. Skytable itself uses this function to generate raw queries. Once you’re done passing the arguments to a query, running this function will return the raw query that would be written to the stream, serialized using the Skyhash serialization protocol
Trait Implementations
impl<T> From<T> for Query where
T: IntoSkyhashAction,
[src]
impl<T> From<T> for Query where
T: IntoSkyhashAction,
[src]