Skip to main content

Recorder

Struct Recorder 

Source
pub struct Recorder<'w> { /* private fields */ }
Expand description

Writes every call and its answer while inner answers.

Implementations§

Source§

impl<'w> Recorder<'w>

Source

pub fn new( inner: Box<dyn Database + 'w>, out: Box<dyn Write + 'w>, source: &str, ) -> Result<Recorder<'w>, Error>

source names what answered, and goes in the recording’s header.

Trait Implementations§

Source§

impl Database for Recorder<'_>

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 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(&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>

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.

Auto Trait Implementations§

§

impl<'w> !RefUnwindSafe for Recorder<'w>

§

impl<'w> !Send for Recorder<'w>

§

impl<'w> !Sync for Recorder<'w>

§

impl<'w> !UnwindSafe for Recorder<'w>

§

impl<'w> Freeze for Recorder<'w>

§

impl<'w> Unpin for Recorder<'w>

§

impl<'w> UnsafeUnpin for Recorder<'w>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.