Trait mysql_async::prelude::Queryable [−][src]
pub trait Queryable: Send {
Show 18 methods
fn ping(&mut self) -> BoxFuture<'_, Result<()>>;
fn query_iter<'a, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<QueryResult<'a, 'static, TextProtocol>>>
where
Q: AsRef<str> + Send + Sync + 'a;
fn prep<'a, Q>(&'a mut self, query: Q) -> BoxFuture<'a, Result<Statement>>
where
Q: AsRef<str> + Sync + Send + 'a;
fn close(&mut self, stmt: Statement) -> BoxFuture<'_, Result<()>>;
fn exec_iter<'a: 's, 's, Q, P>(
&'a mut self,
stmt: Q,
params: P
) -> BoxFuture<'s, Result<QueryResult<'a, 'static, BinaryProtocol>>>
where
Q: StatementLike + 'a,
P: Into<Params>;
fn exec_batch<'a: 'b, 'b, S, P, I>(
&'a mut self,
stmt: S,
params_iter: I
) -> BoxFuture<'b, Result<()>>
where
S: StatementLike + 'b,
I: IntoIterator<Item = P> + Send + 'b,
I::IntoIter: Send,
P: Into<Params> + Send;
fn query<'a, T, Q>(&'a mut self, query: Q) -> BoxFuture<'a, Result<Vec<T>>>
where
Q: AsRef<str> + Send + Sync + 'a,
T: FromRow + Send + 'static,
{ ... }
fn query_first<'a, T, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<Option<T>>>
where
Q: AsRef<str> + Send + Sync + 'a,
T: FromRow + Send + 'static,
{ ... }
fn query_map<'a, T, F, Q, U>(
&'a mut self,
query: Q,
f: F
) -> BoxFuture<'a, Result<Vec<U>>>
where
Q: AsRef<str> + Send + Sync + 'a,
T: FromRow + Send + 'static,
F: FnMut(T) -> U + Send + 'a,
U: Send,
{ ... }
fn query_fold<'a, T, F, Q, U>(
&'a mut self,
query: Q,
init: U,
f: F
) -> BoxFuture<'a, Result<U>>
where
Q: AsRef<str> + Send + Sync + 'a,
T: FromRow + Send + 'static,
F: FnMut(U, T) -> U + Send + 'a,
U: Send + 'a,
{ ... }
fn query_drop<'a, Q>(&'a mut self, query: Q) -> BoxFuture<'a, Result<()>>
where
Q: AsRef<str> + Send + Sync + 'a,
{ ... }
fn exec<'a: 'b, 'b, T, S, P>(
&'a mut self,
stmt: S,
params: P
) -> BoxFuture<'b, Result<Vec<T>>>
where
S: StatementLike + 'b,
P: Into<Params> + Send + 'b,
T: FromRow + Send + 'static,
{ ... }
fn exec_first<'a: 'b, 'b, T, S, P>(
&'a mut self,
stmt: S,
params: P
) -> BoxFuture<'b, Result<Option<T>>>
where
S: StatementLike + 'b,
P: Into<Params> + Send + 'b,
T: FromRow + Send + 'static,
{ ... }
fn exec_map<'a: 'b, 'b, T, S, P, U, F>(
&'a mut self,
stmt: S,
params: P,
f: F
) -> BoxFuture<'b, Result<Vec<U>>>
where
S: StatementLike + 'b,
P: Into<Params> + Send + 'b,
T: FromRow + Send + 'static,
F: FnMut(T) -> U + Send + 'a,
U: Send + 'a,
{ ... }
fn exec_fold<'a: 'b, 'b, T, S, P, U, F>(
&'a mut self,
stmt: S,
params: P,
init: U,
f: F
) -> BoxFuture<'b, Result<U>>
where
S: StatementLike + 'b,
P: Into<Params> + Send + 'b,
T: FromRow + Send + 'static,
F: FnMut(U, T) -> U + Send + 'a,
U: Send + 'a,
{ ... }
fn exec_drop<'a: 'b, 'b, S, P>(
&'a mut self,
stmt: S,
params: P
) -> BoxFuture<'b, Result<()>>
where
S: StatementLike + 'b,
P: Into<Params> + Send + 'b,
{ ... }
fn query_stream<'a, T, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<ResultSetStream<'a, 'a, 'static, T, TextProtocol>>>
where
T: Unpin + FromRow + Send + 'static,
Q: AsRef<str> + Send + Sync + 'a,
{ ... }
fn exec_stream<'a: 's, 's, T, Q, P>(
&'a mut self,
stmt: Q,
params: P
) -> BoxFuture<'s, Result<ResultSetStream<'a, 'a, 'static, T, BinaryProtocol>>>
where
T: Unpin + FromRow + Send + 'static,
Q: StatementLike + 'a,
P: Into<Params> + Send + 's,
{ ... }
}
Expand description
Methods of this trait are used to execute database queries.
Conn
is a Queryable
as well as Transaction
.
Required methods
fn query_iter<'a, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<QueryResult<'a, 'static, TextProtocol>>> where
Q: AsRef<str> + Send + Sync + 'a,
fn query_iter<'a, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<QueryResult<'a, 'static, TextProtocol>>> where
Q: AsRef<str> + Send + Sync + 'a,
Performs the given query and returns the result.
Prepares the given statement.
Note, that Statement
will exist only in the context of this queryable.
Also note, that this call may close the least recently used statement
if statement cache is at its capacity (see. stmt_cache_size
).
Closes the given statement.
Usually there is no need to explicitly close statements
(see. stmt_cache_size
).
fn exec_iter<'a: 's, 's, Q, P>(
&'a mut self,
stmt: Q,
params: P
) -> BoxFuture<'s, Result<QueryResult<'a, 'static, BinaryProtocol>>> where
Q: StatementLike + 'a,
P: Into<Params>,
fn exec_iter<'a: 's, 's, Q, P>(
&'a mut self,
stmt: Q,
params: P
) -> BoxFuture<'s, Result<QueryResult<'a, 'static, BinaryProtocol>>> where
Q: StatementLike + 'a,
P: Into<Params>,
Executes the given statement with given params.
It’ll prepare stmt
, if necessary.
fn exec_batch<'a: 'b, 'b, S, P, I>(
&'a mut self,
stmt: S,
params_iter: I
) -> BoxFuture<'b, Result<()>> where
S: StatementLike + 'b,
I: IntoIterator<Item = P> + Send + 'b,
I::IntoIter: Send,
P: Into<Params> + Send,
fn exec_batch<'a: 'b, 'b, S, P, I>(
&'a mut self,
stmt: S,
params_iter: I
) -> BoxFuture<'b, Result<()>> where
S: StatementLike + 'b,
I: IntoIterator<Item = P> + Send + 'b,
I::IntoIter: Send,
P: Into<Params> + Send,
Exectues the given statement for each item in the given params iterator.
It’ll prepare stmt
(once), if necessary.
Provided methods
Performs the given query and collects the first result set.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Performs the given query and returns the first row of the first result set.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Performs the given query and maps each row of the first result set.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Performs the given query and folds the first result set to a single value.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Performs the given query and drops the query result.
Exectues the given statement and collects the first result set.
It’ll prepare stmt
, if necessary.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Exectues the given statement and returns the first row of the first result set.
It’ll prepare stmt
, if necessary.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Exectues the given stmt and maps each row of the first result set.
It’ll prepare stmt
, if necessary.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Exectues the given stmt and folds the first result set to a signel value.
It’ll prepare stmt
, if necessary.
Conversion
This stream will convert each row into T
using FromRow
implementation.
If the row type is unknown please use the Row
type for T
to make this conversion infallible.
Exectues the given statement and drops the result.
fn query_stream<'a, T, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<ResultSetStream<'a, 'a, 'static, T, TextProtocol>>> where
T: Unpin + FromRow + Send + 'static,
Q: AsRef<str> + Send + Sync + 'a,
fn query_stream<'a, T, Q>(
&'a mut self,
query: Q
) -> BoxFuture<'a, Result<ResultSetStream<'a, 'a, 'static, T, TextProtocol>>> where
T: Unpin + FromRow + Send + 'static,
Q: AsRef<str> + Send + Sync + 'a,
Returns a stream over the first result set.
Please see QueryResult::stream_and_drop
.
fn exec_stream<'a: 's, 's, T, Q, P>(
&'a mut self,
stmt: Q,
params: P
) -> BoxFuture<'s, Result<ResultSetStream<'a, 'a, 'static, T, BinaryProtocol>>> where
T: Unpin + FromRow + Send + 'static,
Q: StatementLike + 'a,
P: Into<Params> + Send + 's,
fn exec_stream<'a: 's, 's, T, Q, P>(
&'a mut self,
stmt: Q,
params: P
) -> BoxFuture<'s, Result<ResultSetStream<'a, 'a, 'static, T, BinaryProtocol>>> where
T: Unpin + FromRow + Send + 'static,
Q: StatementLike + 'a,
P: Into<Params> + Send + 's,
Returns a stream over the first result set.
Please see QueryResult::stream_and_drop
.