[−][src]Trait sqlx::prelude::Executor
A type that contains or can provide a database connection to use for executing queries against the database.
No guarantees are provided that successive queries run on the same physical database
connection. A Connection
is an Executor
that guarantees that successive
queries are run on the same physical database connection.
Implementations are provided for &Pool
,
&mut PoolConnection
,
and &mut Connection
.
Associated Types
Loading content...Required methods
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, Self::Database>,
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, Self::Database>,
Executes the query for its side-effects and discarding any potential result rows.
Returns the number of rows affected, or 0 if not applicable.
fn fetch<'q, E>(
&'e mut self,
query: E
) -> <Self::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, Self::Database>,
&'e mut self,
query: E
) -> <Self::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, Self::Database>,
Executes a query for its result.
Returns a Cursor
that can be used to iterate through the Row
s
of the result.
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<Self::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, Self::Database>,
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<Self::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, Self::Database>,
Prepare the SQL query and return type information about its parameters and results.
This is used by the query macros ( query!
) during compilation to
power their type inference.
Implementations on Foreign Types
impl<'_, T> Executor for &'_ mut T where
T: Executor,
[src]
T: Executor,
type Database = <T as Executor>::Database
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <&'_ mut T as Executor>::Database>,
[src]
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <&'_ mut T as Executor>::Database>,
fn fetch<'q, E>(
&'e mut self,
query: E
) -> <<&'_ mut T as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, <&'_ mut T as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> <<&'_ mut T as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, <&'_ mut T as Executor>::Database>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<&'_ mut T as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <&'_ mut T as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<&'_ mut T as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <&'_ mut T as Executor>::Database>,
Implementors
impl Executor for PgListener
[src]
type Database = Postgres
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <PgListener as Executor>::Database>,
[src]
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <PgListener as Executor>::Database>,
fn fetch<'q, E>(&mut self, query: E) -> PgCursor<'q> where
E: Execute<'q, <PgListener as Executor>::Database>,
[src]
E: Execute<'q, <PgListener as Executor>::Database>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<PgListener as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <PgListener as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<PgListener as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <PgListener as Executor>::Database>,
impl Executor for MySqlConnection
[src]
type Database = MySql
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <MySqlConnection as Executor>::Database>,
[src]
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <MySqlConnection as Executor>::Database>,
fn fetch<'q, E>(&mut self, query: E) -> MySqlCursor<'q> where
E: Execute<'q, <MySqlConnection as Executor>::Database>,
[src]
E: Execute<'q, <MySqlConnection as Executor>::Database>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<MySqlConnection as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <MySqlConnection as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<MySqlConnection as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <MySqlConnection as Executor>::Database>,
impl Executor for PgConnection
[src]
type Database = Postgres
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <PgConnection as Executor>::Database>,
[src]
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <PgConnection as Executor>::Database>,
fn fetch<'q, E>(&mut self, query: E) -> PgCursor<'q> where
E: Execute<'q, <PgConnection as Executor>::Database>,
[src]
E: Execute<'q, <PgConnection as Executor>::Database>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<PgConnection as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <PgConnection as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<PgConnection as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <PgConnection as Executor>::Database>,
impl<'c, DB, T> Executor for &'c mut Transaction<T> where
DB: Database,
T: Connection<Database = DB>,
[src]
DB: Database,
T: Connection<Database = DB>,
type Database = <T as Executor>::Database
fn execute<'e, 'q, 't, E>(
&'t mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
't: 'e,
E: 'e + Execute<'q, <&'c mut Transaction<T> as Executor>::Database>,
[src]
&'t mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
't: 'e,
E: 'e + Execute<'q, <&'c mut Transaction<T> as Executor>::Database>,
fn fetch<'q, E>(
&'e mut self,
query: E
) -> <<&'c mut Transaction<T> as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, <&'c mut Transaction<T> as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> <<&'c mut Transaction<T> as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, <&'c mut Transaction<T> as Executor>::Database>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<&'c mut Transaction<T> as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <&'c mut Transaction<T> as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<&'c mut Transaction<T> as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <&'c mut Transaction<T> as Executor>::Database>,
impl<'p, C, DB> Executor for &'p Pool<C> where
C: Connect<Database = DB>,
DB: Database<Connection = C, Database = DB> + HasCursor<'c, 'q>,
[src]
C: Connect<Database = DB>,
DB: Database<Connection = C, Database = DB> + HasCursor<'c, 'q>,
type Database = DB
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <&'p Pool<C> as Executor>::Database>,
[src]
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <&'p Pool<C> as Executor>::Database>,
fn fetch<'q, E>(
&'e mut self,
query: E
) -> <<&'p Pool<C> as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, DB>,
[src]
&'e mut self,
query: E
) -> <<&'p Pool<C> as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, DB>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<&'p Pool<C> as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <&'p Pool<C> as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<&'p Pool<C> as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <&'p Pool<C> as Executor>::Database>,
impl<C> Executor for PoolConnection<C> where
C: Connect,
[src]
C: Connect,
type Database = <C as Executor>::Database
fn execute<'e, 'q, 'c, E>(
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <PoolConnection<C> as Executor>::Database>,
[src]
&'c mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + 'e + Send>> where
'q: 'e,
'c: 'e,
E: 'e + Execute<'q, <PoolConnection<C> as Executor>::Database>,
fn fetch<'q, E>(
&'e mut self,
query: E
) -> <<C as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, <PoolConnection<C> as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> <<C as Executor>::Database as HasCursor<'e, 'q>>::Cursor where
E: Execute<'q, <PoolConnection<C> as Executor>::Database>,
fn describe<'e, 'q, E>(
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<PoolConnection<C> as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <PoolConnection<C> as Executor>::Database>,
[src]
&'e mut self,
query: E
) -> Pin<Box<dyn Future<Output = Result<Describe<<PoolConnection<C> as Executor>::Database>, Error>> + 'e + Send>> where
E: 'e + Execute<'q, <PoolConnection<C> as Executor>::Database>,