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;
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

Create a new empty query with no arguments

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

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

This is supported on crate feature 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

This is supported on crate feature dbg only.

Returns the expected size of a packet for the given lengths of the query This is not a standard feature but is intended for developers working on Skytable

Trait Implementations

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.