Skip to main content

TriggerDef

Struct TriggerDef 

Source
pub struct TriggerDef {
    pub name: String,
    pub table: String,
    pub timing: String,
    pub events: Vec<String>,
    pub for_each: String,
    pub function: String,
    pub update_columns: Vec<String>,
    pub enabled: bool,
    pub when_condition: String,
}
Expand description

v7.12.4 — catalogued trigger. References its function by name; the function must exist at TRIGGER creation time (forward references are deferred to v7.12.5+).

Fields§

§name: String§table: String

Watched table. Trigger is dropped when the table drops.

§timing: String

"BEFORE" / "AFTER" / "INSTEAD OF". Stored as the uppercased keyword so deserialised catalogs round-trip without canonicalisation surprises.

§events: Vec<String>

Each entry is one of "INSERT" / "UPDATE" / "DELETE" / "TRUNCATE". INSERT OR UPDATE parses to two entries.

§for_each: String

"ROW" / "STATEMENT". v7.12.4 ships "ROW" only; "STATEMENT" parses and persists but the executor refuses it at trigger fire time.

§function: String

Name of the PL/pgSQL function to invoke.

§update_columns: Vec<String>

v7.13.0 — UPDATE OF col, col, … column-list filter (mailrs round-5 G7). Non-empty means the trigger fires only when at least one of these columns appears in the UPDATE’s SET list. Empty = no column filter. Stored in catalog FILE_VERSION 23+; older catalogs deserialise with an empty vec.

§enabled: bool

v7.16.1 — whether the trigger fires when its watched event occurs. Toggled by ALTER TABLE … { ENABLE | DISABLE } TRIGGER …; pg_dump –disable-triggers wraps every data block with a DISABLE/ENABLE pair so the rows already-computed in prod don’t get re-rewritten. Defaults to true at CREATE TRIGGER time. Stored in catalog FILE_VERSION 25+; older catalogs deserialise with enabled = true.

§when_condition: String

v7.39 (round 138) — the deparsed WHEN ( condition ) predicate text (re-parsed at fire time to filter row triggers). Empty = no WHEN. Persisted from FILE_VERSION 70; older catalogs read back empty.

Trait Implementations§

Source§

impl Clone for TriggerDef

Source§

fn clone(&self) -> TriggerDef

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TriggerDef

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for TriggerDef

Source§

impl PartialEq for TriggerDef

Source§

fn eq(&self, other: &TriggerDef) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for TriggerDef

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.