Trait HostConnection

Source
pub trait HostConnection: Sized + Send {
    // Required methods
    fn open(
        &mut self,
        address: String,
    ) -> impl Future<Output = Result<Resource<Connection>, Error>> + Send;
    fn query(
        &mut self,
        self_: Resource<Connection>,
        statement: String,
        params: Vec<ParameterValue>,
    ) -> impl Future<Output = Result<RowSet, Error>> + Send;
    fn execute(
        &mut self,
        self_: Resource<Connection>,
        statement: String,
        params: Vec<ParameterValue>,
    ) -> impl Future<Output = Result<(), Error>> + Send;
    fn drop(
        &mut self,
        rep: Resource<Connection>,
    ) -> impl Future<Output = Result<()>> + Send;
}

Required Methods§

Source

fn open( &mut self, address: String, ) -> impl Future<Output = Result<Resource<Connection>, Error>> + Send

Open a connection to the MySQL instance at address.

Source

fn query( &mut self, self_: Resource<Connection>, statement: String, params: Vec<ParameterValue>, ) -> impl Future<Output = Result<RowSet, Error>> + Send

query the database: select

Source

fn execute( &mut self, self_: Resource<Connection>, statement: String, params: Vec<ParameterValue>, ) -> impl Future<Output = Result<(), Error>> + Send

execute command to the database: insert, update, delete

Source

fn drop( &mut self, rep: Resource<Connection>, ) -> impl Future<Output = Result<()>> + Send

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<_T: HostConnection + ?Sized + Send> HostConnection for &mut _T

Source§

async fn open(&mut self, address: String) -> Result<Resource<Connection>, Error>

Open a connection to the MySQL instance at address.

Source§

async fn query( &mut self, self_: Resource<Connection>, statement: String, params: Vec<ParameterValue>, ) -> Result<RowSet, Error>

query the database: select

Source§

async fn execute( &mut self, self_: Resource<Connection>, statement: String, params: Vec<ParameterValue>, ) -> Result<(), Error>

execute command to the database: insert, update, delete

Source§

async fn drop(&mut self, rep: Resource<Connection>) -> Result<()>

Implementors§