public function getTriggersMeta($table = NULL)
{
$res = $this->query("\n\t\t\tSELECT TRIM(RDB\$TRIGGER_NAME) AS TRIGGER_NAME,\n\t\t\t\tTRIM(RDB\$RELATION_NAME) AS TABLE_NAME,\n\t\t\t\tCASE RDB\$TRIGGER_TYPE\n\t\t\t\t\tWHEN 1 THEN 'BEFORE'\n\t\t\t\t\tWHEN 2 THEN 'AFTER'\n\t\t\t\t\tWHEN 3 THEN 'BEFORE'\n\t\t\t\t\tWHEN 4 THEN 'AFTER'\n\t\t\t\t\tWHEN 5 THEN 'BEFORE'\n\t\t\t\t\tWHEN 6 THEN 'AFTER'\n\t\t\t\tEND AS TRIGGER_TYPE,\n\t\t\t\tCASE RDB\$TRIGGER_TYPE\n\t\t\t\t\tWHEN 1 THEN 'INSERT'\n\t\t\t\t\tWHEN 2 THEN 'INSERT'\n\t\t\t\t\tWHEN 3 THEN 'UPDATE'\n\t\t\t\t\tWHEN 4 THEN 'UPDATE'\n\t\t\t\t\tWHEN 5 THEN 'DELETE'\n\t\t\t\t\tWHEN 6 THEN 'DELETE'\n\t\t\t\tEND AS TRIGGER_EVENT,\n\t\t\t\tCASE RDB\$TRIGGER_INACTIVE\n\t\t\t\t\tWHEN 1 THEN 'FALSE' ELSE 'TRUE'\n\t\t\t\tEND AS TRIGGER_ENABLED\n\t\t\tFROM RDB\$TRIGGERS\n\t\t\tWHERE RDB\$SYSTEM_FLAG = 0" . ($table === NULL ? ';' : " AND RDB\$RELATION_NAME = UPPER('{$table}');"));
$triggers = [];
while ($row = $res->fetch(TRUE)) {
$triggers[$row['TRIGGER_NAME']] = ['name' => $row['TRIGGER_NAME'], 'table' => $row['TABLE_NAME'], 'type' => trim($row['TRIGGER_TYPE']), 'event' => trim($row['TRIGGER_EVENT']), 'enabled' => trim($row['TRIGGER_ENABLED']) === 'TRUE'];
}
return $triggers;
}