[][src]Trait sqlx_core::Executor

pub trait Executor {
    type Database: Database + ?Sized;
    fn send<'e, 'q: 'e>(
        &'e mut self,
        command: &'q str
    ) -> BoxFuture<'e, Result<()>>;
fn execute<'e, 'q: 'e>(
        &'e mut self,
        query: &'q str,
        args: <Self::Database as Database>::Arguments
    ) -> BoxFuture<'e, Result<u64>>;
fn fetch<'e, 'q: 'e>(
        &'e mut self,
        query: &'q str,
        args: <Self::Database as Database>::Arguments
    ) -> BoxStream<'e, Result<<Self::Database as Database>::Row>>;
fn describe<'e, 'q: 'e>(
        &'e mut self,
        query: &'q str
    ) -> BoxFuture<'e, Result<Describe<Self::Database>>>; fn fetch_optional<'e, 'q: 'e>(
        &'e mut self,
        query: &'q str,
        args: <Self::Database as Database>::Arguments
    ) -> BoxFuture<'e, Result<Option<<Self::Database as Database>::Row>>> { ... }
fn fetch_one<'e, 'q: 'e>(
        &'e mut self,
        query: &'q str,
        args: <Self::Database as Database>::Arguments
    ) -> BoxFuture<'e, Result<<Self::Database as Database>::Row>> { ... } }

Encapsulates query execution on the database.

Implemented primarily by crate::Pool.

Associated Types

Loading content...

Required methods

fn send<'e, 'q: 'e>(&'e mut self, command: &'q str) -> BoxFuture<'e, Result<()>>

Send a raw SQL command to the database.

This is intended for queries that cannot or should not be prepared (ex. BEGIN).

Does not support fetching results.

fn execute<'e, 'q: 'e>(
    &'e mut self,
    query: &'q str,
    args: <Self::Database as Database>::Arguments
) -> BoxFuture<'e, Result<u64>>

Execute the query, returning the number of rows affected.

fn fetch<'e, 'q: 'e>(
    &'e mut self,
    query: &'q str,
    args: <Self::Database as Database>::Arguments
) -> BoxStream<'e, Result<<Self::Database as Database>::Row>>

Executes the query and returns a [Stream] of [Row].

fn describe<'e, 'q: 'e>(
    &'e mut self,
    query: &'q str
) -> BoxFuture<'e, Result<Describe<Self::Database>>>

Analyze the SQL query and report the inferred bind parameter types and returned columns.

Loading content...

Provided methods

fn fetch_optional<'e, 'q: 'e>(
    &'e mut self,
    query: &'q str,
    args: <Self::Database as Database>::Arguments
) -> BoxFuture<'e, Result<Option<<Self::Database as Database>::Row>>>

Executes the query and returns up to resulting record.

fn fetch_one<'e, 'q: 'e>(
    &'e mut self,
    query: &'q str,
    args: <Self::Database as Database>::Arguments
) -> BoxFuture<'e, Result<<Self::Database as Database>::Row>>

Execute the query and return at most one resulting record.

Loading content...

Implementors

impl Executor for MySqlConnection[src]

type Database = MySql

impl Executor for PgConnection[src]

type Database = Postgres

impl<'_, DB> Executor for &'_ Pool<DB> where
    DB: Database
[src]

type Database = DB

impl<DB> Executor for Pool<DB> where
    DB: Database
[src]

type Database = DB

Loading content...