Skip to main content

Database

Trait Database 

Source
pub trait Database {
    // Required methods
    fn execute(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;
    fn prepare(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;
    fn open(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;
    fn fetch(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;
    fn close(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;
    fn commit(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;
    fn rollback(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>;

    // Provided method
    fn close_all(&mut self) -> Result<(), Abandoned> { ... }
}

Required Methods§

Source

fn execute(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

SELECT INTO, SET, VALUES INTO, INSERT, UPDATE and DELETE, and a dynamic statement that is not a query.

Source

fn prepare(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

Checks a statement string PREPARE names, which then runs through execute or open.

Source

fn open(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

Source

fn fetch(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

One row, or no row at the end.

Source

fn close(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

Source

fn commit(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

Source

fn rollback(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

Provided Methods§

Source

fn close_all(&mut self) -> Result<(), Abandoned>

Closes every cursor, held ones too, as the end of a CICS task does, so the next task on the same connection finds none open. A backend without cursors of its own has nothing to close.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§