pub struct CreateTriggerStatement {
pub name: String,
pub or_replace: bool,
pub timing: TriggerTiming,
pub events: Vec<TriggerEvent>,
pub table: String,
pub for_each: TriggerForEach,
pub function: String,
pub update_columns: Vec<String>,
}Expand description
v7.12.4 — CREATE [OR REPLACE] TRIGGER. Always row-level
(FOR EACH ROW) in v7.12.4 — statement-level triggers parse
but the executor refuses them. WHEN (cond) clauses are out
of scope; the trigger function can short-circuit on a leading
IF inside its body once v7.12.5 lands IF.
Fields§
§name: String§or_replace: bool§timing: TriggerTiming§events: Vec<TriggerEvent>At least one event; INSERT OR UPDATE OR DELETE parses to
three entries in order.
table: String§for_each: TriggerForEachFOR EACH ROW vs FOR EACH STATEMENT. v7.12.4 ships
only Row; Statement parses but the executor refuses.
function: StringName of the function to invoke. v7.12.4 requires the
function to be CREATE FUNCTION’d earlier; forward
references (PG accepts) are deferred to v7.12.5.
update_columns: Vec<String>v7.13.0 — UPDATE OF col, col, … column-list filter
(mailrs round-5 G7). Non-empty only when the events list
contains UPDATE and the user wrote the column-list filter.
PG fires the trigger only when at least one of these
columns appears in the SET clause; SPG conservatively
fires on any UPDATE matching the listed columns or
rewriting them at the row level. Empty vec = no filter
(fire on every UPDATE).
Trait Implementations§
Source§impl Clone for CreateTriggerStatement
impl Clone for CreateTriggerStatement
Source§fn clone(&self) -> CreateTriggerStatement
fn clone(&self) -> CreateTriggerStatement
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CreateTriggerStatement
impl Debug for CreateTriggerStatement
Source§impl Display for CreateTriggerStatement
impl Display for CreateTriggerStatement
Source§impl PartialEq for CreateTriggerStatement
impl PartialEq for CreateTriggerStatement
Source§fn eq(&self, other: &CreateTriggerStatement) -> bool
fn eq(&self, other: &CreateTriggerStatement) -> bool
self and other values to be equal, and is used by ==.