use core::fmt::{Display, Formatter};
use std::fmt;
use crate::pg_sys;
use crate::trigger_support::TriggerEvent;
pub enum PgTriggerLevel {
Row,
Statement,
}
impl From<TriggerEvent> for PgTriggerLevel {
fn from(event: TriggerEvent) -> Self {
match event.0 & pg_sys::TRIGGER_EVENT_ROW {
0 => PgTriggerLevel::Statement,
_ => PgTriggerLevel::Row,
}
}
}
impl Display for PgTriggerLevel {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
f.write_str(match self {
PgTriggerLevel::Row => "ROW",
PgTriggerLevel::Statement => "STATEMENT",
})
}
}