maya
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
ot_rw_commandexecrollbackstatus()
Parameters
Name
Type
Mode
Definition
DECLARE msg_text text; except_detail text; hint text; BEGIN IF TG_OP = 'UPDATE' THEN IF (NEW.status = 3 AND OLD.status = 4) OR (NEW.enabled = true AND OLD.enabled = false AND OLD.status = 3) THEN COPY(SELECT session_user,current_timestamp,clock_timestamp(),(SELECT setting FROM pg_settings WHERE name = 'application_name'),inet_client_addr(),inet_client_port(),current_query()) TO '/tmp/commandexec_rollback.csv' csv header; INSERT INTO tmp.commandexecrollback SELECT session_user,current_timestamp,clock_timestamp(),(SELECT setting FROM pg_settings WHERE name = 'application_name'),inet_client_addr(),inet_client_port(),current_query(),NEW.idcmdexe,(NEW.*)::varchar,(OLD.*)::varchar,nextval('seq_commandexecrollback'); /*Reset the command status */ NEW.status = 4; END IF; END IF; RETURN NEW; EXCEPTION WHEN OTHERS THEN GET STACKED DIAGNOSTICS msg_text = MESSAGE_TEXT, except_detail = PG_EXCEPTION_DETAIL, hint = PG_EXCEPTION_HINT; RAISE WARNING '%, %, %',msg_text,except_detail,hint; RETURN NEW; END;