pub struct ProcedureContext<'a, 'tx> {
pub fragment: Fragment,
pub identity: IdentityId,
pub row_count: usize,
pub runtime_context: &'a RuntimeContext,
pub tx: &'a mut Transaction<'tx>,
pub params: &'a Params,
pub catalog: &'a Catalog,
pub ioc: &'a IocContainer,
}Expand description
Execution context for a procedure.
A procedure impl writes impl Routine<ProcedureContext> for Foo. The
transaction is reachable via ctx.tx. Procedures get the catalog and the
IOC container in addition to the shared facets, plus access to user-supplied
parameters as the legacy Params view.
Fields§
§fragment: Fragment§identity: IdentityId§row_count: usize§runtime_context: &'a RuntimeContext§tx: &'a mut Transaction<'tx>§params: &'a Params§catalog: &'a Catalog§ioc: &'a IocContainerTrait Implementations§
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for ClockAdvanceProcedure
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for ClockAdvanceProcedure
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for ClockSetProcedure
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for ClockSetProcedure
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for IdentityInject
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for IdentityInject
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for InspectSubscription
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for InspectSubscription
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for SetConfigProcedure
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for SetConfigProcedure
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for TestingChanged
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for TestingChanged
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for TestingEventsDispatched
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for TestingEventsDispatched
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
Source§impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for TestingHandlersInvoked
impl<'a, 'tx> Routine<ProcedureContext<'a, 'tx>> for TestingHandlersInvoked
fn info(&self) -> &RoutineInfo
fn return_type(&self, _input_types: &[Type]) -> Type
Source§fn execute(
&self,
ctx: &mut ProcedureContext<'a, 'tx>,
_args: &Columns,
) -> Result<Columns, RoutineError>
fn execute( &self, ctx: &mut ProcedureContext<'a, 'tx>, _args: &Columns, ) -> Result<Columns, RoutineError>
Execute the routine. Read more
fn accepted_types(&self) -> InputTypes
fn propagates_options(&self) -> bool
impl Context for ProcedureContext<'_, '_>
Auto Trait Implementations§
impl<'a, 'tx> Freeze for ProcedureContext<'a, 'tx>
impl<'a, 'tx> !RefUnwindSafe for ProcedureContext<'a, 'tx>
impl<'a, 'tx> Send for ProcedureContext<'a, 'tx>
impl<'a, 'tx> Sync for ProcedureContext<'a, 'tx>
impl<'a, 'tx> Unpin for ProcedureContext<'a, 'tx>
impl<'a, 'tx> UnsafeUnpin for ProcedureContext<'a, 'tx>
impl<'a, 'tx> !UnwindSafe for ProcedureContext<'a, 'tx>
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
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