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§
Sourcefn execute(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>
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.
Sourcefn prepare(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>
fn prepare(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>
Checks a statement string PREPARE names, which then runs through execute or open.
fn open(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>
Sourcefn fetch(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>
fn fetch(&mut self, call: &Call<'_>) -> Result<Outcome, Abandoned>
One row, or no row at the end.
Sourcefn fetch_rows(
&mut self,
call: &Call<'_>,
rows: u32,
) -> Result<Outcome, Abandoned>
fn fetch_rows( &mut self, call: &Call<'_>, rows: u32, ) -> Result<Outcome, Abandoned>
Up to rows rows for a rowset FETCH, fewer at the end.
Sourcefn insert_rows(
&mut self,
call: &Call<'_>,
rows: &[Vec<Value>],
atomic: bool,
) -> Result<Outcome, Abandoned>
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.
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§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".