pub struct Program {
pub connection: Arc<Connection>,
/* private fields */
}Fields§
§connection: Arc<Connection>Implementations§
Source§impl Program
impl Program
pub fn prepared(&self) -> &Arc<PreparedProgram> ⓘ
pub fn from_prepared( prepared: Arc<PreparedProgram>, connection: Arc<Connection>, ) -> Self
pub fn is_readonly(&self) -> bool
Source§impl Program
impl Program
pub fn step( &self, state: &mut ProgramState, pager: &Arc<Pager>, query_mode: QueryMode, waker: Option<&Waker>, ) -> Result<StepResult>
pub fn commit_txn( &self, pager: Arc<Pager>, program_state: &mut ProgramState, mv_store: Option<&Arc<MvStore<MvccClock, DynAllocator>>>, rollback: bool, ) -> Result<IOResult<()>>
Sourcepub fn abort(
&self,
pager: &Arc<Pager>,
err: Option<&LimboError>,
state: &mut ProgramState,
) -> Result<()>
pub fn abort( &self, pager: &Arc<Pager>, err: Option<&LimboError>, state: &mut ProgramState, ) -> Result<()>
Aborts the program due to various conditions (explicit error, interrupt or reset of unfinished statement) by rolling back the transaction This method is no-op if program was already finished (either aborted or executed to completion) Returns an error if cleanup operations (savepoint rollback/release) fail.
pub fn is_trigger_subprogram(&self) -> bool
Methods from Deref<Target = PreparedProgram>§
pub fn bind(self: Arc<Self>, connection: Arc<Connection>) -> Program
pub fn is_compatible_with(&self, connection: &Connection) -> bool
pub fn is_readonly(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Program
impl !UnwindSafe for Program
impl Freeze for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnsafeUnpin for Program
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more