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 fetch_rows(
        &mut self,
        call: &Call<'_>,
        rows: u32,
    ) -> Result<Outcome, Abandoned>;
    fn insert_rows(
        &mut self,
        call: &Call<'_>,
        rows: &[Vec<Value>],
        atomic: bool,
    ) -> 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 methods
    fn call(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned> { ... }
    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 fetch_rows( &mut self, call: &Call<'_>, rows: u32, ) -> Result<Outcome, Abandoned>

Up to rows rows for a rowset FETCH, fewer at the end.

Source

fn insert_rows( &mut self, call: &Call<'_>, rows: &[Vec<Value>], atomic: bool, ) -> Result<Outcome, Abandoned>

A multiple-row INSERT: the INSERT of one row call names, once for each of rows, whose values call.inputs holds one after another. SQLERRD(3) is the rows inserted. ATOMIC undoes them all when one fails; NOT ATOMIC keeps the rest, -253, or -254 when none went in.

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 call(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>

CALL of a stored procedure, which a backend that runs none refuses; the answer’s parameters give the arguments as the procedure returns them (numeric::assumptions::CALL_FROM_A_RECORDING).

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§