pub trait Database {
// Required methods
fn execute(&mut self, call: &Call<'_>) -> Answer;
fn prepare(&mut self, call: &Call<'_>) -> Answer;
fn open(&mut self, call: &Call<'_>) -> Answer;
fn fetch(&mut self, call: &Call<'_>) -> Answer;
fn fetch_rows(&mut self, call: &Call<'_>, rows: u32) -> Answer;
fn insert_rows(
&mut self,
call: &Call<'_>,
rows: &[Vec<Value>],
atomic: bool,
) -> Answer;
fn close(&mut self, call: &Call<'_>) -> Answer;
fn commit(&mut self, call: &Call<'_>) -> Answer;
fn rollback(&mut self, call: &Call<'_>) -> Answer;
// Provided methods
fn call(&mut self, call: &Call<'_>) -> Answer { ... }
fn close_all(&mut self) -> Result<(), Abandoned> { ... }
}Required Methods§
Sourcefn execute(&mut self, call: &Call<'_>) -> Answer
fn execute(&mut self, call: &Call<'_>) -> Answer
SELECT INTO, SET, VALUES INTO, INSERT, UPDATE and DELETE, and a dynamic statement that is not a query.
Sourcefn prepare(&mut self, call: &Call<'_>) -> Answer
fn prepare(&mut self, call: &Call<'_>) -> Answer
Checks a statement string PREPARE names, which then runs through execute or open.
fn open(&mut self, call: &Call<'_>) -> Answer
Sourcefn fetch_rows(&mut self, call: &Call<'_>, rows: u32) -> Answer
fn fetch_rows(&mut self, call: &Call<'_>, rows: u32) -> Answer
Up to rows rows for a rowset FETCH, fewer at the end.
Sourcefn insert_rows(
&mut self,
call: &Call<'_>,
rows: &[Vec<Value>],
atomic: bool,
) -> Answer
fn insert_rows( &mut self, call: &Call<'_>, rows: &[Vec<Value>], atomic: bool, ) -> Answer
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<'_>) -> Answer
fn commit(&mut self, call: &Call<'_>) -> Answer
fn rollback(&mut self, call: &Call<'_>) -> Answer
Provided Methods§
Sourcefn call(&mut self, call: &Call<'_>) -> Answer
fn call(&mut self, call: &Call<'_>) -> Answer
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).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".