All pastes #773669 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-14 18:27 UTC
rendered paste body
CREATE OR REPLACE FUNCTION is_Trigger_Enabled(tg_name "text")
  RETURNS boolean AS
$BODY$ 
DECLARE
  v_isEnabled boolean := false;
BEGIN
  SELECT tgenabled INTO v_isEnabled FROM pg_trigger WHERE UPPER(tgname) = UPPER(tg_name);
  RETURN v_isEnabled;
EXCEPTION
WHEN OTHERS THEN
  SELECT (UPPER(tgenabled)<>'D') INTO v_isEnabled FROM pg_trigger WHERE tgname = tg_name;
  RETURN v_isEnabled;
END;   $BODY$
  LANGUAGE 'plpgsql' VOLATILE;

CREATE OR REPLACE VIEW USER_OBJECTS
(TABLE_NAME, OBJECT_NAME, OBJECT_ID, OBJECT_TYPE, STATUS)
AS 
SELECT UPPER(PG_CLASS.RELNAME), UPPER(PG_TRIGGER.TGNAME), PG_TRIGGER.TGFOID, TO_CHAR('TRIGGER'), CASE is_Trigger_Enabled(PG_TRIGGER.TGNAME) WHEN TRUE THEN TO_CHAR('VALID') ELSE TO_CHAR('INVALID') END
FROM PG_TRIGGER, PG_NAMESPACE, PG_CLASS 
WHERE PG_TRIGGER.TGRELID = PG_CLASS.OID
AND PG_TRIGGER.TGISCONSTRAINT = FALSE
AND PG_CLASS.RELNAMESPACE = PG_NAMESPACE.OID
AND PG_NAMESPACE.NSPNAME = CURRENT_SCHEMA();