pub struct PLpgSQLFunction {
pub compilation: PLpgSQLCompilationIdentity,
pub datums: Vec<PLpgSQLDatum>,
pub action: PLpgSQLBlock,
pub new_datum: Option<usize>,
pub old_datum: Option<usize>,
pub found_datum: Option<usize>,
pub options: CompileOptions,
pub variable_conflict: VariableConflict,
}Expand description
A parsed PL/pgSQL function body: the flat datum table plus the
outermost block.
Fields§
§compilation: PLpgSQLCompilationIdentity§datums: Vec<PLpgSQLDatum>§action: PLpgSQLBlock§new_datum: Option<usize>Datum holding the implicit NEW record for a trigger function.
old_datum: Option<usize>Datum holding the implicit OLD record for a trigger function.
found_datum: Option<usize>Index of the implicit FOUND variable in Self::datums.
options: CompileOptionsThe options the body declares before its first block.
variable_conflict: VariableConflictHow a name that is both a variable and a column resolves in this compilation of the body: the body’s own option, or the setting of the session that compiled it.
Implementations§
Source§impl PLpgSQLFunction
impl PLpgSQLFunction
pub fn block_variable_datums(&self) -> BTreeSet<usize>
Source§impl PLpgSQLFunction
impl PLpgSQLFunction
Sourcepub fn loop_local_variable_datums(&self) -> BTreeSet<usize>
pub fn loop_local_variable_datums(&self) -> BTreeSet<usize>
Datum indices synthesized for loop-local variables. The interpreter binds these names only while their loop runs so an outer variable with the same name stays visible elsewhere.
Sourcepub fn cursor_argument_datums(&self) -> BTreeSet<usize>
pub fn cursor_argument_datums(&self) -> BTreeSet<usize>
Datum indices used as bound-cursor arguments. They are visible only while the cursor query is bound, not throughout the routine body.
Trait Implementations§
Source§impl Clone for PLpgSQLFunction
impl Clone for PLpgSQLFunction
Auto Trait Implementations§
impl Freeze for PLpgSQLFunction
impl RefUnwindSafe for PLpgSQLFunction
impl Send for PLpgSQLFunction
impl Sync for PLpgSQLFunction
impl Unpin for PLpgSQLFunction
impl UnsafeUnpin for PLpgSQLFunction
impl UnwindSafe for PLpgSQLFunction
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
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> 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> ⓘ
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> ⓘ
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