9 mx-run AddAuditTables.pm [options] -H hostname -D dbname -u username [-F]
11 this is a subclass of L<CXGN::Metadata::Dbpatch>
12 see the perldoc of parent class for more details.
16 This patch adds audit tables
17 This subclass uses L<Moose>. The parent class uses L<MooseX::Runnable>
21 Adrian Powell <afp43@cornell.edu>
23 =head1 COPYRIGHT & LICENSE
25 Copyright 2010 Boyce Thompson Institute for Plant Research
27 This program is free software; you can redistribute it and/or modify
28 it under the same terms as Perl itself.
33 package AddAuditTables
;
36 use Bio
::Chado
::Schema
;
37 use SGN
::Model
::Cvterm
;
39 extends
'CXGN::Metadata::Dbpatch';
41 has
'+description' => ( default => <<'' );
42 This patch adds audit tables
54 $self->dbh->do(<<EOSQL);
57 --CREATE TABLE public.logged_in_user (sp_person_id INT);
58 --INSERT INTO public.logged_in_user (sp_person_id) VALUES (57);
59 --ALTER TABLE public.logged_in_user OWNER TO web_usr;
61 CREATE SCHEMA IF NOT EXISTS audit;
62 ALTER SCHEMA audit OWNER TO web_usr;
64 CREATE TABLE audit.cv_audit(
65 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
66 operation VARCHAR(10) NOT NULL,
67 username TEXT NOT NULL DEFAULT "current_user"(),
71 transactioncode VARCHAR(40),
72 cv_audit_id SERIAL PRIMARY KEY,
76 ALTER TABLE audit.cv_audit OWNER TO web_usr;
78 CREATE OR REPLACE FUNCTION public.cv_audit_trig()
84 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
87 INSERT INTO audit.cv_audit (logged_in_user, operation, after, transactioncode, is_undo)
88 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
91 ELSIF TG_OP = 'UPDATE'
94 INSERT INTO audit.cv_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
95 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
99 ELSIF TG_OP = 'DELETE'
101 INSERT INTO audit.cv_audit (logged_in_user, operation, before, transactioncode, is_undo)
102 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
108 CREATE TRIGGER cv_audit_trig
109 BEFORE INSERT OR UPDATE OR DELETE
112 EXECUTE PROCEDURE public.cv_audit_trig();
114 CREATE TABLE audit.cvprop_audit(
115 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
116 operation VARCHAR(10) NOT NULL,
117 username TEXT NOT NULL DEFAULT "current_user"(),
121 transactioncode VARCHAR(40),
122 cvprop_audit_id SERIAL PRIMARY KEY,
126 ALTER TABLE audit.cvprop_audit OWNER TO web_usr;
128 CREATE OR REPLACE FUNCTION public.cvprop_audit_trig()
134 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
138 INSERT INTO audit.cvprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
139 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
142 ELSIF TG_OP = 'UPDATE'
145 INSERT INTO audit.cvprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
146 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
150 ELSIF TG_OP = 'DELETE'
152 INSERT INTO audit.cvprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
153 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
159 CREATE TRIGGER cvprop_audit_trig
160 BEFORE INSERT OR UPDATE OR DELETE
163 EXECUTE PROCEDURE public.cvprop_audit_trig();
165 CREATE TABLE audit.cvterm_audit(
166 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
167 operation VARCHAR(10) NOT NULL,
168 username TEXT NOT NULL DEFAULT "current_user"(),
172 transactioncode VARCHAR(40),
173 cvterm_audit_id SERIAL PRIMARY KEY,
177 ALTER TABLE audit.cvterm_audit OWNER TO web_usr;
179 CREATE OR REPLACE FUNCTION public.cvterm_audit_trig()
185 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
189 INSERT INTO audit.cvterm_audit (logged_in_user, operation, after, transactioncode, is_undo)
190 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
193 ELSIF TG_OP = 'UPDATE'
196 INSERT INTO audit.cvterm_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
197 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
201 ELSIF TG_OP = 'DELETE'
203 INSERT INTO audit.cvterm_audit (logged_in_user, operation, before, transactioncode, is_undo)
204 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
210 CREATE TRIGGER cvterm_audit_trig
211 BEFORE INSERT OR UPDATE OR DELETE
214 EXECUTE PROCEDURE public.cvterm_audit_trig();
216 CREATE TABLE audit.cvterm_dbxref_audit(
217 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
218 operation VARCHAR(10) NOT NULL,
219 username TEXT NOT NULL DEFAULT "current_user"(),
223 transactioncode VARCHAR(40),
224 cvterm_dbxref_audit_id SERIAL PRIMARY KEY,
228 ALTER TABLE audit.cvterm_dbxref_audit OWNER TO web_usr;
230 CREATE OR REPLACE FUNCTION public.cvterm_dbxref_audit_trig()
236 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
240 INSERT INTO audit.cvterm_dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
241 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
244 ELSIF TG_OP = 'UPDATE'
247 INSERT INTO audit.cvterm_dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
248 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
252 ELSIF TG_OP = 'DELETE'
254 INSERT INTO audit.cvterm_dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
255 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
261 CREATE TRIGGER cvterm_dbxref_audit_trig
262 BEFORE INSERT OR UPDATE OR DELETE
263 ON public.cvterm_dbxref
265 EXECUTE PROCEDURE public.cvterm_dbxref_audit_trig();
267 CREATE TABLE audit.cvterm_relationship_audit(
268 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
269 operation VARCHAR(10) NOT NULL,
270 username TEXT NOT NULL DEFAULT "current_user"(),
274 transactioncode VARCHAR(40),
275 cvterm_relationship_audit_id SERIAL PRIMARY KEY,
279 ALTER TABLE audit.cvterm_relationship_audit OWNER TO web_usr;
281 CREATE OR REPLACE FUNCTION public.cvterm_relationship_audit_trig()
287 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
291 INSERT INTO audit.cvterm_relationship_audit (logged_in_user, operation, after, transactioncode, is_undo)
292 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
295 ELSIF TG_OP = 'UPDATE'
298 INSERT INTO audit.cvterm_relationship_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
299 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
303 ELSIF TG_OP = 'DELETE'
305 INSERT INTO audit.cvterm_relationship_audit (logged_in_user, operation, before, transactioncode, is_undo)
306 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
312 CREATE TRIGGER cvterm_relationship_audit_trig
313 BEFORE INSERT OR UPDATE OR DELETE
314 ON public.cvterm_relationship
316 EXECUTE PROCEDURE public.cvterm_relationship_audit_trig();
318 CREATE TABLE audit.cvtermpath_audit(
319 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
320 operation VARCHAR(10) NOT NULL,
321 username TEXT NOT NULL DEFAULT "current_user"(),
325 transactioncode VARCHAR(40),
326 cvtermpath_audit_id SERIAL PRIMARY KEY,
330 ALTER TABLE audit.cvtermpath_audit OWNER TO web_usr;
332 CREATE OR REPLACE FUNCTION public.cvtermpath_audit_trig()
338 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
342 INSERT INTO audit.cvtermpath_audit (logged_in_user, operation, after, transactioncode, is_undo)
343 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
346 ELSIF TG_OP = 'UPDATE'
349 INSERT INTO audit.cvtermpath_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
350 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
354 ELSIF TG_OP = 'DELETE'
356 INSERT INTO audit.cvtermpath_audit (logged_in_user, operation, before, transactioncode, is_undo)
357 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
363 CREATE TRIGGER cvtermpath_audit_trig
364 BEFORE INSERT OR UPDATE OR DELETE
367 EXECUTE PROCEDURE public.cvtermpath_audit_trig();
369 CREATE TABLE audit.cvtermprop_audit(
370 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
371 operation VARCHAR(10) NOT NULL,
372 username TEXT NOT NULL DEFAULT "current_user"(),
376 transactioncode VARCHAR(40),
377 cvtermprop_audit_id SERIAL PRIMARY KEY,
381 ALTER TABLE audit.cvtermprop_audit OWNER TO web_usr;
383 CREATE OR REPLACE FUNCTION public.cvtermprop_audit_trig()
389 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
393 INSERT INTO audit.cvtermprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
394 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
397 ELSIF TG_OP = 'UPDATE'
400 INSERT INTO audit.cvtermprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
401 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
405 ELSIF TG_OP = 'DELETE'
407 INSERT INTO audit.cvtermprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
408 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
414 CREATE TRIGGER cvtermprop_audit_trig
415 BEFORE INSERT OR UPDATE OR DELETE
418 EXECUTE PROCEDURE public.cvtermprop_audit_trig();
420 CREATE TABLE audit.cvtermsynonym_audit(
421 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
422 operation VARCHAR(10) NOT NULL,
423 username TEXT NOT NULL DEFAULT "current_user"(),
427 transactioncode VARCHAR(40),
428 cvtermsynonym_audit_id SERIAL PRIMARY KEY,
432 ALTER TABLE audit.cvtermsynonym_audit OWNER TO web_usr;
434 CREATE OR REPLACE FUNCTION public.cvtermsynonym_audit_trig()
440 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
444 INSERT INTO audit.cvtermsynonym_audit (logged_in_user, operation, after, transactioncode, is_undo)
445 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
448 ELSIF TG_OP = 'UPDATE'
451 INSERT INTO audit.cvtermsynonym_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
452 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
456 ELSIF TG_OP = 'DELETE'
458 INSERT INTO audit.cvtermsynonym_audit (logged_in_user, operation, before, transactioncode, is_undo)
459 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
465 CREATE TRIGGER cvtermsynonym_audit_trig
466 BEFORE INSERT OR UPDATE OR DELETE
467 ON public.cvtermsynonym
469 EXECUTE PROCEDURE public.cvtermsynonym_audit_trig();
471 CREATE TABLE audit.db_audit(
472 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
473 operation VARCHAR(10) NOT NULL,
474 username TEXT NOT NULL DEFAULT "current_user"(),
478 transactioncode VARCHAR(40),
479 db_audit_id SERIAL PRIMARY KEY,
483 ALTER TABLE audit.db_audit OWNER TO web_usr;
485 CREATE OR REPLACE FUNCTION public.db_audit_trig()
491 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
495 INSERT INTO audit.db_audit (logged_in_user, operation, after, transactioncode, is_undo)
496 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
499 ELSIF TG_OP = 'UPDATE'
502 INSERT INTO audit.db_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
503 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
507 ELSIF TG_OP = 'DELETE'
509 INSERT INTO audit.db_audit (logged_in_user, operation, before, transactioncode, is_undo)
510 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
516 CREATE TRIGGER db_audit_trig
517 BEFORE INSERT OR UPDATE OR DELETE
520 EXECUTE PROCEDURE public.db_audit_trig();
522 CREATE TABLE audit.dbxref_audit(
523 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
524 operation VARCHAR(10) NOT NULL,
525 username TEXT NOT NULL DEFAULT "current_user"(),
529 transactioncode VARCHAR(40),
530 dbxref_audit_id SERIAL PRIMARY KEY,
534 ALTER TABLE audit.dbxref_audit OWNER TO web_usr;
536 CREATE OR REPLACE FUNCTION public.dbxref_audit_trig()
542 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
546 INSERT INTO audit.dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
547 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
550 ELSIF TG_OP = 'UPDATE'
553 INSERT INTO audit.dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
554 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
558 ELSIF TG_OP = 'DELETE'
560 INSERT INTO audit.dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
561 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
567 CREATE TRIGGER dbxref_audit_trig
568 BEFORE INSERT OR UPDATE OR DELETE
571 EXECUTE PROCEDURE public.dbxref_audit_trig();
573 CREATE TABLE audit.dbxrefprop_audit(
574 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
575 operation VARCHAR(10) NOT NULL,
576 username TEXT NOT NULL DEFAULT "current_user"(),
580 transactioncode VARCHAR(40),
581 dbxrefprop_audit_id SERIAL PRIMARY KEY,
585 ALTER TABLE audit.dbxrefprop_audit OWNER TO web_usr;
587 CREATE OR REPLACE FUNCTION public.dbxrefprop_audit_trig()
593 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
597 INSERT INTO audit.dbxrefprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
598 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
601 ELSIF TG_OP = 'UPDATE'
604 INSERT INTO audit.dbxrefprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
605 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
609 ELSIF TG_OP = 'DELETE'
611 INSERT INTO audit.dbxrefprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
612 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
618 CREATE TRIGGER dbxrefprop_audit_trig
619 BEFORE INSERT OR UPDATE OR DELETE
622 EXECUTE PROCEDURE public.dbxrefprop_audit_trig();
624 CREATE TABLE audit.genotype_audit(
625 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
626 operation VARCHAR(10) NOT NULL,
627 username TEXT NOT NULL DEFAULT "current_user"(),
631 transactioncode VARCHAR(40),
632 genotype_audit_id SERIAL PRIMARY KEY,
636 ALTER TABLE audit.genotype_audit OWNER TO web_usr;
638 CREATE OR REPLACE FUNCTION public.genotype_audit_trig()
644 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
648 INSERT INTO audit.genotype_audit (logged_in_user, operation, after, transactioncode, is_undo)
649 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
652 ELSIF TG_OP = 'UPDATE'
655 INSERT INTO audit.genotype_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
656 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
660 ELSIF TG_OP = 'DELETE'
662 INSERT INTO audit.genotype_audit (logged_in_user, operation, before, transactioncode, is_undo)
663 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
669 CREATE TRIGGER genotype_audit_trig
670 BEFORE INSERT OR UPDATE OR DELETE
673 EXECUTE PROCEDURE public.genotype_audit_trig();
675 CREATE TABLE audit.nd_experiment_audit(
676 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
677 operation VARCHAR(10) NOT NULL,
678 username TEXT NOT NULL DEFAULT "current_user"(),
682 transactioncode VARCHAR(40),
683 nd_experiment_audit_id SERIAL PRIMARY KEY,
687 ALTER TABLE audit.nd_experiment_audit OWNER TO web_usr;
689 CREATE OR REPLACE FUNCTION public.nd_experiment_audit_trig()
695 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
699 INSERT INTO audit.nd_experiment_audit (logged_in_user, operation, after, transactioncode, is_undo)
700 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
703 ELSIF TG_OP = 'UPDATE'
706 INSERT INTO audit.nd_experiment_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
707 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
711 ELSIF TG_OP = 'DELETE'
713 INSERT INTO audit.nd_experiment_audit (logged_in_user, operation, before, transactioncode, is_undo)
714 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
720 CREATE TRIGGER nd_experiment_audit_trig
721 BEFORE INSERT OR UPDATE OR DELETE
722 ON public.nd_experiment
724 EXECUTE PROCEDURE public.nd_experiment_audit_trig();
726 CREATE TABLE audit.nd_experiment_contact_audit(
727 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
728 operation VARCHAR(10) NOT NULL,
729 username TEXT NOT NULL DEFAULT "current_user"(),
733 transactioncode VARCHAR(40),
734 nd_experiment_contact_audit_id SERIAL PRIMARY KEY,
738 ALTER TABLE audit.nd_experiment_contact_audit OWNER TO web_usr;
740 CREATE OR REPLACE FUNCTION public.nd_experiment_contact_audit_trig()
746 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
750 INSERT INTO audit.nd_experiment_contact_audit (logged_in_user, operation, after, transactioncode, is_undo)
751 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
754 ELSIF TG_OP = 'UPDATE'
757 INSERT INTO audit.nd_experiment_contact_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
758 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
762 ELSIF TG_OP = 'DELETE'
764 INSERT INTO audit.nd_experiment_contact_audit (logged_in_user, operation, before, transactioncode, is_undo)
765 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
771 CREATE TRIGGER nd_experiment_contact_audit_trig
772 BEFORE INSERT OR UPDATE OR DELETE
773 ON public.nd_experiment_contact
775 EXECUTE PROCEDURE public.nd_experiment_contact_audit_trig();
777 CREATE TABLE audit.nd_experiment_dbxref_audit(
778 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
779 operation VARCHAR(10) NOT NULL,
780 username TEXT NOT NULL DEFAULT "current_user"(),
784 transactioncode VARCHAR(40),
785 nd_experiment_dbxref_audit_id SERIAL PRIMARY KEY,
789 ALTER TABLE audit.nd_experiment_dbxref_audit OWNER TO web_usr;
791 CREATE OR REPLACE FUNCTION public.nd_experiment_dbxref_audit_trig()
797 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
801 INSERT INTO audit.nd_experiment_dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
802 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
805 ELSIF TG_OP = 'UPDATE'
808 INSERT INTO audit.nd_experiment_dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
809 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
813 ELSIF TG_OP = 'DELETE'
815 INSERT INTO audit.nd_experiment_dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
816 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
822 CREATE TRIGGER nd_experiment_dbxref_audit_trig
823 BEFORE INSERT OR UPDATE OR DELETE
824 ON public.nd_experiment_dbxref
826 EXECUTE PROCEDURE public.nd_experiment_dbxref_audit_trig();
828 CREATE TABLE audit.nd_experiment_genotype_audit(
829 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
830 operation VARCHAR(10) NOT NULL,
831 username TEXT NOT NULL DEFAULT "current_user"(),
835 transactioncode VARCHAR(40),
836 nd_experiment_genotype_audit_id SERIAL PRIMARY KEY,
840 ALTER TABLE audit.nd_experiment_genotype_audit OWNER TO web_usr;
842 CREATE OR REPLACE FUNCTION public.nd_experiment_genotype_audit_trig()
848 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
852 INSERT INTO audit.nd_experiment_genotype_audit (logged_in_user, operation, after, transactioncode, is_undo)
853 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
856 ELSIF TG_OP = 'UPDATE'
859 INSERT INTO audit.nd_experiment_genotype_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
860 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
864 ELSIF TG_OP = 'DELETE'
866 INSERT INTO audit.nd_experiment_genotype_audit (logged_in_user, operation, before, transactioncode, is_undo)
867 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
873 CREATE TRIGGER nd_experiment_genotype_audit_trig
874 BEFORE INSERT OR UPDATE OR DELETE
875 ON public.nd_experiment_genotype
877 EXECUTE PROCEDURE public.nd_experiment_genotype_audit_trig();
879 CREATE TABLE audit.nd_experiment_phenotype_audit(
880 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
881 operation VARCHAR(10) NOT NULL,
882 username TEXT NOT NULL DEFAULT "current_user"(),
886 transactioncode VARCHAR(40),
887 nd_experiment_phenotype_audit_id SERIAL PRIMARY KEY,
891 ALTER TABLE audit.nd_experiment_phenotype_audit OWNER TO web_usr;
893 CREATE OR REPLACE FUNCTION public.nd_experiment_phenotype_audit_trig()
899 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
903 INSERT INTO audit.nd_experiment_phenotype_audit (logged_in_user, operation, after, transactioncode, is_undo)
904 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
907 ELSIF TG_OP = 'UPDATE'
910 INSERT INTO audit.nd_experiment_phenotype_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
911 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
915 ELSIF TG_OP = 'DELETE'
917 INSERT INTO audit.nd_experiment_phenotype_audit (logged_in_user, operation, before, transactioncode, is_undo)
918 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
924 CREATE TRIGGER nd_experiment_phenotype_audit_trig
925 BEFORE INSERT OR UPDATE OR DELETE
926 ON public.nd_experiment_phenotype
928 EXECUTE PROCEDURE public.nd_experiment_phenotype_audit_trig();
930 CREATE TABLE audit.nd_experiment_project_audit(
931 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
932 operation VARCHAR(10) NOT NULL,
933 username TEXT NOT NULL DEFAULT "current_user"(),
937 transactioncode VARCHAR(40),
938 nd_experiment_project_audit_id SERIAL PRIMARY KEY,
942 ALTER TABLE audit.nd_experiment_project_audit OWNER TO web_usr;
944 CREATE OR REPLACE FUNCTION public.nd_experiment_project_audit_trig()
950 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
954 INSERT INTO audit.nd_experiment_project_audit (logged_in_user, operation, after, transactioncode, is_undo)
955 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
958 ELSIF TG_OP = 'UPDATE'
961 INSERT INTO audit.nd_experiment_project_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
962 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
966 ELSIF TG_OP = 'DELETE'
968 INSERT INTO audit.nd_experiment_project_audit (logged_in_user, operation, before, transactioncode, is_undo)
969 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
975 CREATE TRIGGER nd_experiment_project_audit_trig
976 BEFORE INSERT OR UPDATE OR DELETE
977 ON public.nd_experiment_project
979 EXECUTE PROCEDURE public.nd_experiment_project_audit_trig();
981 CREATE TABLE audit.nd_experiment_protocol_audit(
982 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
983 operation VARCHAR(10) NOT NULL,
984 username TEXT NOT NULL DEFAULT "current_user"(),
988 transactioncode VARCHAR(40),
989 nd_experiment_protocol_audit_id SERIAL PRIMARY KEY,
993 ALTER TABLE audit.nd_experiment_protocol_audit OWNER TO web_usr;
995 CREATE OR REPLACE FUNCTION public.nd_experiment_protocol_audit_trig()
1001 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1005 INSERT INTO audit.nd_experiment_protocol_audit (logged_in_user, operation, after, transactioncode, is_undo)
1006 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1009 ELSIF TG_OP = 'UPDATE'
1012 INSERT INTO audit.nd_experiment_protocol_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1013 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1017 ELSIF TG_OP = 'DELETE'
1019 INSERT INTO audit.nd_experiment_protocol_audit (logged_in_user, operation, before, transactioncode, is_undo)
1020 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1026 CREATE TRIGGER nd_experiment_protocol_audit_trig
1027 BEFORE INSERT OR UPDATE OR DELETE
1028 ON public.nd_experiment_protocol
1030 EXECUTE PROCEDURE public.nd_experiment_protocol_audit_trig();
1032 CREATE TABLE audit.nd_experiment_pub_audit(
1033 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1034 operation VARCHAR(10) NOT NULL,
1035 username TEXT NOT NULL DEFAULT "current_user"(),
1039 transactioncode VARCHAR(40),
1040 nd_experiment_pub_audit_id SERIAL PRIMARY KEY,
1044 ALTER TABLE audit.nd_experiment_pub_audit OWNER TO web_usr;
1046 CREATE OR REPLACE FUNCTION public.nd_experiment_pub_audit_trig()
1052 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1055 INSERT INTO audit.nd_experiment_pub_audit (logged_in_user, operation, after, transactioncode, is_undo)
1056 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1059 ELSIF TG_OP = 'UPDATE'
1062 INSERT INTO audit.nd_experiment_pub_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1063 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1067 ELSIF TG_OP = 'DELETE'
1069 INSERT INTO audit.nd_experiment_pub_audit (logged_in_user, operation, before, transactioncode, is_undo)
1070 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1076 CREATE TRIGGER nd_experiment_pub_audit_trig
1077 BEFORE INSERT OR UPDATE OR DELETE
1078 ON public.nd_experiment_pub
1080 EXECUTE PROCEDURE public.nd_experiment_pub_audit_trig();
1082 CREATE TABLE audit.nd_experiment_stock_audit(
1083 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1084 operation VARCHAR(10) NOT NULL,
1085 username TEXT NOT NULL DEFAULT "current_user"(),
1089 transactioncode VARCHAR(40),
1090 nd_experiment_stock_audit_id SERIAL PRIMARY KEY,
1094 ALTER TABLE audit.nd_experiment_stock_audit OWNER TO web_usr;
1096 CREATE OR REPLACE FUNCTION public.nd_experiment_stock_audit_trig()
1102 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1106 INSERT INTO audit.nd_experiment_stock_audit (logged_in_user, operation, after, transactioncode, is_undo)
1107 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1110 ELSIF TG_OP = 'UPDATE'
1113 INSERT INTO audit.nd_experiment_stock_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1114 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1118 ELSIF TG_OP = 'DELETE'
1120 INSERT INTO audit.nd_experiment_stock_audit (logged_in_user, operation, before, transactioncode, is_undo)
1121 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1127 CREATE TRIGGER nd_experiment_stock_audit_trig
1128 BEFORE INSERT OR UPDATE OR DELETE
1129 ON public.nd_experiment_stock
1131 EXECUTE PROCEDURE public.nd_experiment_stock_audit_trig();
1133 CREATE TABLE audit.nd_experiment_stock_dbxref_audit(
1134 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1135 operation VARCHAR(10) NOT NULL,
1136 username TEXT NOT NULL DEFAULT "current_user"(),
1140 transactioncode VARCHAR(40),
1141 nd_experiment_stock_dbxref_audit_id SERIAL PRIMARY KEY,
1145 ALTER TABLE audit.nd_experiment_stock_dbxref_audit OWNER TO web_usr;
1147 CREATE OR REPLACE FUNCTION public.nd_experiment_stock_dbxref_audit_trig()
1153 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1157 INSERT INTO audit.nd_experiment_stock_dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
1158 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1161 ELSIF TG_OP = 'UPDATE'
1164 INSERT INTO audit.nd_experiment_stock_dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1165 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1169 ELSIF TG_OP = 'DELETE'
1171 INSERT INTO audit.nd_experiment_stock_dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
1172 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1178 CREATE TRIGGER nd_experiment_stock_dbxref_audit_trig
1179 BEFORE INSERT OR UPDATE OR DELETE
1180 ON public.nd_experiment_stock_dbxref
1182 EXECUTE PROCEDURE public.nd_experiment_stock_dbxref_audit_trig();
1184 CREATE TABLE audit.nd_experiment_stockprop_audit(
1185 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1186 operation VARCHAR(10) NOT NULL,
1187 username TEXT NOT NULL DEFAULT "current_user"(),
1191 transactioncode VARCHAR(40),
1192 nd_experiment_stockprop_audit_id SERIAL PRIMARY KEY,
1196 ALTER TABLE audit.nd_experiment_stockprop_audit OWNER TO web_usr;
1198 CREATE OR REPLACE FUNCTION public.nd_experiment_stockprop_audit_trig()
1204 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1208 INSERT INTO audit.nd_experiment_stockprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
1209 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1212 ELSIF TG_OP = 'UPDATE'
1215 INSERT INTO audit.nd_experiment_stockprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1216 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1220 ELSIF TG_OP = 'DELETE'
1222 INSERT INTO audit.nd_experiment_stockprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
1223 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1229 CREATE TRIGGER nd_experiment_stockprop_audit_trig
1230 BEFORE INSERT OR UPDATE OR DELETE
1231 ON public.nd_experiment_stockprop
1233 EXECUTE PROCEDURE public.nd_experiment_stockprop_audit_trig();
1235 CREATE TABLE audit.nd_experimentprop_audit(
1236 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1237 operation VARCHAR(10) NOT NULL,
1238 username TEXT NOT NULL DEFAULT "current_user"(),
1242 transactioncode VARCHAR(40),
1243 nd_experimentprop_audit_id SERIAL PRIMARY KEY,
1247 ALTER TABLE audit.nd_experimentprop_audit OWNER TO web_usr;
1249 CREATE OR REPLACE FUNCTION public.nd_experimentprop_audit_trig()
1255 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1259 INSERT INTO audit.nd_experimentprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
1260 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1263 ELSIF TG_OP = 'UPDATE'
1266 INSERT INTO audit.nd_experimentprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1267 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1271 ELSIF TG_OP = 'DELETE'
1273 INSERT INTO audit.nd_experimentprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
1274 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1280 CREATE TRIGGER nd_experimentprop_audit_trig
1281 BEFORE INSERT OR UPDATE OR DELETE
1282 ON public.nd_experimentprop
1284 EXECUTE PROCEDURE public.nd_experimentprop_audit_trig();
1286 CREATE TABLE audit.nd_geolocation_audit(
1287 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1288 operation VARCHAR(10) NOT NULL,
1289 username TEXT NOT NULL DEFAULT "current_user"(),
1293 transactioncode VARCHAR(40),
1294 nd_geolocation_audit_id SERIAL PRIMARY KEY,
1298 ALTER TABLE audit.nd_geolocation_audit OWNER TO web_usr;
1300 CREATE OR REPLACE FUNCTION public.nd_geolocation_audit_trig()
1306 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1310 INSERT INTO audit.nd_geolocation_audit (logged_in_user, operation, after, transactioncode, is_undo)
1311 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1314 ELSIF TG_OP = 'UPDATE'
1317 INSERT INTO audit.nd_geolocation_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1318 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1322 ELSIF TG_OP = 'DELETE'
1324 INSERT INTO audit.nd_geolocation_audit (logged_in_user, operation, before, transactioncode, is_undo)
1325 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1331 CREATE TRIGGER nd_geolocation_audit_trig
1332 BEFORE INSERT OR UPDATE OR DELETE
1333 ON public.nd_geolocation
1335 EXECUTE PROCEDURE public.nd_geolocation_audit_trig();
1337 CREATE TABLE audit.nd_geolocationprop_audit(
1338 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1339 operation VARCHAR(10) NOT NULL,
1340 username TEXT NOT NULL DEFAULT "current_user"(),
1344 transactioncode VARCHAR(40),
1345 nd_geolocationprop_audit_id SERIAL PRIMARY KEY,
1349 ALTER TABLE audit.nd_geolocationprop_audit OWNER TO web_usr;
1351 CREATE OR REPLACE FUNCTION public.nd_geolocationprop_audit_trig()
1357 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1361 INSERT INTO audit.nd_geolocationprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
1362 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1365 ELSIF TG_OP = 'UPDATE'
1368 INSERT INTO audit.nd_geolocationprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1369 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1373 ELSIF TG_OP = 'DELETE'
1375 INSERT INTO audit.nd_geolocationprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
1376 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1382 CREATE TRIGGER nd_geolocationprop_audit_trig
1383 BEFORE INSERT OR UPDATE OR DELETE
1384 ON public.nd_geolocationprop
1386 EXECUTE PROCEDURE public.nd_geolocationprop_audit_trig();
1388 CREATE TABLE audit.nd_protocol_audit(
1389 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1390 operation VARCHAR(10) NOT NULL,
1391 username TEXT NOT NULL DEFAULT "current_user"(),
1395 transactioncode VARCHAR(40),
1396 nd_protocol_audit_id SERIAL PRIMARY KEY,
1400 ALTER TABLE audit.nd_protocol_audit OWNER TO web_usr;
1402 CREATE OR REPLACE FUNCTION public.nd_protocol_audit_trig()
1408 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1412 INSERT INTO audit.nd_protocol_audit (logged_in_user, operation, after, transactioncode, is_undo)
1413 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1416 ELSIF TG_OP = 'UPDATE'
1419 INSERT INTO audit.nd_protocol_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1420 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1424 ELSIF TG_OP = 'DELETE'
1426 INSERT INTO audit.nd_protocol_audit (logged_in_user, operation, before, transactioncode, is_undo)
1427 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1433 CREATE TRIGGER nd_protocol_audit_trig
1434 BEFORE INSERT OR UPDATE OR DELETE
1435 ON public.nd_protocol
1437 EXECUTE PROCEDURE public.nd_protocol_audit_trig();
1439 CREATE TABLE audit.nd_protocol_reagent_audit(
1440 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1441 operation VARCHAR(10) NOT NULL,
1442 username TEXT NOT NULL DEFAULT "current_user"(),
1446 transactioncode VARCHAR(40),
1447 nd_protocol_reagent_audit_id SERIAL PRIMARY KEY,
1451 ALTER TABLE audit.nd_protocol_reagent_audit OWNER TO web_usr;
1453 CREATE OR REPLACE FUNCTION public.nd_protocol_reagent_audit_trig()
1459 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1463 INSERT INTO audit.nd_protocol_reagent_audit (logged_in_user, operation, after, transactioncode, is_undo)
1464 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1467 ELSIF TG_OP = 'UPDATE'
1470 INSERT INTO audit.nd_protocol_reagent_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1471 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1475 ELSIF TG_OP = 'DELETE'
1477 INSERT INTO audit.nd_protocol_reagent_audit (logged_in_user, operation, before, transactioncode, is_undo)
1478 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1484 CREATE TRIGGER nd_protocol_reagent_audit_trig
1485 BEFORE INSERT OR UPDATE OR DELETE
1486 ON public.nd_protocol_reagent
1488 EXECUTE PROCEDURE public.nd_protocol_reagent_audit_trig();
1490 CREATE TABLE audit.nd_protocolprop_audit(
1491 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1492 operation VARCHAR(10) NOT NULL,
1493 username TEXT NOT NULL DEFAULT "current_user"(),
1497 transactioncode VARCHAR(40),
1498 nd_protocolprop_audit_id SERIAL PRIMARY KEY,
1502 ALTER TABLE audit.nd_protocolprop_audit OWNER TO web_usr;
1504 CREATE OR REPLACE FUNCTION public.nd_protocolprop_audit_trig()
1510 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1514 INSERT INTO audit.nd_protocolprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
1515 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1518 ELSIF TG_OP = 'UPDATE'
1521 INSERT INTO audit.nd_protocolprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1522 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1526 ELSIF TG_OP = 'DELETE'
1528 INSERT INTO audit.nd_protocolprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
1529 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1535 CREATE TRIGGER nd_protocolprop_audit_trig
1536 BEFORE INSERT OR UPDATE OR DELETE
1537 ON public.nd_protocolprop
1539 EXECUTE PROCEDURE public.nd_protocolprop_audit_trig();
1541 CREATE TABLE audit.nd_reagent_audit(
1542 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1543 operation VARCHAR(10) NOT NULL,
1544 username TEXT NOT NULL DEFAULT "current_user"(),
1548 transactioncode VARCHAR(40),
1549 nd_reagent_audit_id SERIAL PRIMARY KEY,
1553 ALTER TABLE audit.nd_reagent_audit OWNER TO web_usr;
1555 CREATE OR REPLACE FUNCTION public.nd_reagent_audit_trig()
1561 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1565 INSERT INTO audit.nd_reagent_audit (logged_in_user, operation, after, transactioncode, is_undo)
1566 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1569 ELSIF TG_OP = 'UPDATE'
1572 INSERT INTO audit.nd_reagent_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1573 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1577 ELSIF TG_OP = 'DELETE'
1579 INSERT INTO audit.nd_reagent_audit (logged_in_user, operation, before, transactioncode, is_undo)
1580 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1586 CREATE TRIGGER nd_reagent_audit_trig
1587 BEFORE INSERT OR UPDATE OR DELETE
1588 ON public.nd_reagent
1590 EXECUTE PROCEDURE public.nd_reagent_audit_trig();
1592 CREATE TABLE audit.nd_reagent_relationship_audit(
1593 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1594 operation VARCHAR(10) NOT NULL,
1595 username TEXT NOT NULL DEFAULT "current_user"(),
1599 transactioncode VARCHAR(40),
1600 nd_reagent_relationship_audit_id SERIAL PRIMARY KEY,
1604 ALTER TABLE audit.nd_reagent_relationship_audit OWNER TO web_usr;
1606 CREATE OR REPLACE FUNCTION public.nd_reagent_relationship_audit_trig()
1612 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1616 INSERT INTO audit.nd_reagent_relationship_audit (logged_in_user, operation, after, transactioncode, is_undo)
1617 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1620 ELSIF TG_OP = 'UPDATE'
1623 INSERT INTO audit.nd_reagent_relationship_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1624 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1628 ELSIF TG_OP = 'DELETE'
1630 INSERT INTO audit.nd_reagent_relationship_audit (logged_in_user, operation, before, transactioncode, is_undo)
1631 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1637 CREATE TRIGGER nd_reagent_relationship_audit_trig
1638 BEFORE INSERT OR UPDATE OR DELETE
1639 ON public.nd_reagent_relationship
1641 EXECUTE PROCEDURE public.nd_reagent_relationship_audit_trig();
1643 CREATE TABLE audit.nd_reagentprop_audit(
1644 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1645 operation VARCHAR(10) NOT NULL,
1646 username TEXT NOT NULL DEFAULT "current_user"(),
1650 transactioncode VARCHAR(40),
1651 nd_reagentprop_audit_id SERIAL PRIMARY KEY,
1655 ALTER TABLE audit.nd_reagentprop_audit OWNER TO web_usr;
1657 CREATE OR REPLACE FUNCTION public.nd_reagentprop_audit_trig()
1663 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1667 INSERT INTO audit.nd_reagentprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
1668 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1671 ELSIF TG_OP = 'UPDATE'
1674 INSERT INTO audit.nd_reagentprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1675 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1679 ELSIF TG_OP = 'DELETE'
1681 INSERT INTO audit.nd_reagentprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
1682 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1688 CREATE TRIGGER nd_reagentprop_audit_trig
1689 BEFORE INSERT OR UPDATE OR DELETE
1690 ON public.nd_reagentprop
1692 EXECUTE PROCEDURE public.nd_reagentprop_audit_trig();
1694 CREATE TABLE audit.organism_audit(
1695 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1696 operation VARCHAR(10) NOT NULL,
1697 username TEXT NOT NULL DEFAULT "current_user"(),
1701 transactioncode VARCHAR(40),
1702 organism_audit_id SERIAL PRIMARY KEY,
1706 ALTER TABLE audit.organism_audit OWNER TO web_usr;
1708 CREATE OR REPLACE FUNCTION public.organism_audit_trig()
1714 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1718 INSERT INTO audit.organism_audit (logged_in_user, operation, after, transactioncode, is_undo)
1719 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1722 ELSIF TG_OP = 'UPDATE'
1725 INSERT INTO audit.organism_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1726 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1730 ELSIF TG_OP = 'DELETE'
1732 INSERT INTO audit.organism_audit (logged_in_user, operation, before, transactioncode, is_undo)
1733 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1739 CREATE TRIGGER organism_audit_trig
1740 BEFORE INSERT OR UPDATE OR DELETE
1743 EXECUTE PROCEDURE public.organism_audit_trig();
1745 CREATE TABLE audit.organism_dbxref_audit(
1746 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1747 operation VARCHAR(10) NOT NULL,
1748 username TEXT NOT NULL DEFAULT "current_user"(),
1752 transactioncode VARCHAR(40),
1753 organism_dbxref_audit_id SERIAL PRIMARY KEY,
1757 ALTER TABLE audit.organism_dbxref_audit OWNER TO web_usr;
1759 CREATE OR REPLACE FUNCTION public.organism_dbxref_audit_trig()
1765 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1769 INSERT INTO audit.organism_dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
1770 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1773 ELSIF TG_OP = 'UPDATE'
1776 INSERT INTO audit.organism_dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1777 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1781 ELSIF TG_OP = 'DELETE'
1783 INSERT INTO audit.organism_dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
1784 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1790 CREATE TRIGGER organism_dbxref_audit_trig
1791 BEFORE INSERT OR UPDATE OR DELETE
1792 ON public.organism_dbxref
1794 EXECUTE PROCEDURE public.organism_dbxref_audit_trig();
1796 CREATE TABLE audit.organism_relationship_audit(
1797 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1798 operation VARCHAR(10) NOT NULL,
1799 username TEXT NOT NULL DEFAULT "current_user"(),
1803 transactioncode VARCHAR(40),
1804 organism_relationship_audit_id SERIAL PRIMARY KEY,
1808 ALTER TABLE audit.organism_relationship_audit OWNER TO web_usr;
1810 CREATE OR REPLACE FUNCTION public.organism_relationship_audit_trig()
1816 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1820 INSERT INTO audit.organism_relationship_audit (logged_in_user, operation, after, transactioncode, is_undo)
1821 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1824 ELSIF TG_OP = 'UPDATE'
1827 INSERT INTO audit.organism_relationship_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1828 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1832 ELSIF TG_OP = 'DELETE'
1834 INSERT INTO audit.organism_relationship_audit (logged_in_user, operation, before, transactioncode, is_undo)
1835 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1841 CREATE TRIGGER organism_relationship_audit_trig
1842 BEFORE INSERT OR UPDATE OR DELETE
1843 ON public.organism_relationship
1845 EXECUTE PROCEDURE public.organism_relationship_audit_trig();
1847 CREATE TABLE audit.organismpath_audit(
1848 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1849 operation VARCHAR(10) NOT NULL,
1850 username TEXT NOT NULL DEFAULT "current_user"(),
1854 transactioncode VARCHAR(40),
1855 organismpath_audit_id SERIAL PRIMARY KEY,
1859 ALTER TABLE audit.organismpath_audit OWNER TO web_usr;
1861 CREATE OR REPLACE FUNCTION public.organismpath_audit_trig()
1867 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1871 INSERT INTO audit.organismpath_audit (logged_in_user, operation, after, transactioncode, is_undo)
1872 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1875 ELSIF TG_OP = 'UPDATE'
1878 INSERT INTO audit.organismpath_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1879 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1883 ELSIF TG_OP = 'DELETE'
1885 INSERT INTO audit.organismpath_audit (logged_in_user, operation, before, transactioncode, is_undo)
1886 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1892 CREATE TRIGGER organismpath_audit_trig
1893 BEFORE INSERT OR UPDATE OR DELETE
1894 ON public.organismpath
1896 EXECUTE PROCEDURE public.organismpath_audit_trig();
1898 CREATE TABLE audit.organismprop_audit(
1899 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1900 operation VARCHAR(10) NOT NULL,
1901 username TEXT NOT NULL DEFAULT "current_user"(),
1905 transactioncode VARCHAR(40),
1906 organismprop_audit_id SERIAL PRIMARY KEY,
1910 ALTER TABLE audit.organismprop_audit OWNER TO web_usr;
1912 CREATE OR REPLACE FUNCTION public.organismprop_audit_trig()
1918 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1922 INSERT INTO audit.organismprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
1923 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1926 ELSIF TG_OP = 'UPDATE'
1929 INSERT INTO audit.organismprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1930 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1934 ELSIF TG_OP = 'DELETE'
1936 INSERT INTO audit.organismprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
1937 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1943 CREATE TRIGGER organismprop_audit_trig
1944 BEFORE INSERT OR UPDATE OR DELETE
1945 ON public.organismprop
1947 EXECUTE PROCEDURE public.organismprop_audit_trig();
1949 CREATE TABLE audit.phenotype_audit(
1950 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1951 operation VARCHAR(10) NOT NULL,
1952 username TEXT NOT NULL DEFAULT "current_user"(),
1956 transactioncode VARCHAR(40),
1957 phenotype_audit_id SERIAL PRIMARY KEY,
1961 ALTER TABLE audit.phenotype_audit OWNER TO web_usr;
1963 CREATE OR REPLACE FUNCTION public.phenotype_audit_trig()
1969 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
1973 INSERT INTO audit.phenotype_audit (logged_in_user, operation, after, transactioncode, is_undo)
1974 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1977 ELSIF TG_OP = 'UPDATE'
1980 INSERT INTO audit.phenotype_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
1981 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
1985 ELSIF TG_OP = 'DELETE'
1987 INSERT INTO audit.phenotype_audit (logged_in_user, operation, before, transactioncode, is_undo)
1988 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
1994 CREATE TRIGGER phenotype_audit_trig
1995 BEFORE INSERT OR UPDATE OR DELETE
1998 EXECUTE PROCEDURE public.phenotype_audit_trig();
2000 CREATE TABLE audit.phenotype_cvterm_audit(
2001 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2002 operation VARCHAR(10) NOT NULL,
2003 username TEXT NOT NULL DEFAULT "current_user"(),
2007 transactioncode VARCHAR(40),
2008 phenotype_cvterm_audit_id SERIAL PRIMARY KEY,
2012 ALTER TABLE audit.phenotype_cvterm_audit OWNER TO web_usr;
2014 CREATE OR REPLACE FUNCTION public.phenotype_cvterm_audit_trig()
2020 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2024 INSERT INTO audit.phenotype_cvterm_audit (logged_in_user, operation, after, transactioncode, is_undo)
2025 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2028 ELSIF TG_OP = 'UPDATE'
2031 INSERT INTO audit.phenotype_cvterm_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2032 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2036 ELSIF TG_OP = 'DELETE'
2038 INSERT INTO audit.phenotype_cvterm_audit (logged_in_user, operation, before, transactioncode, is_undo)
2039 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2045 CREATE TRIGGER phenotype_cvterm_audit_trig
2046 BEFORE INSERT OR UPDATE OR DELETE
2047 ON public.phenotype_cvterm
2049 EXECUTE PROCEDURE public.phenotype_cvterm_audit_trig();
2051 CREATE TABLE audit.phenotypeprop_audit(
2052 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2053 operation VARCHAR(10) NOT NULL,
2054 username TEXT NOT NULL DEFAULT "current_user"(),
2058 transactioncode VARCHAR(40),
2059 phenotypeprop_audit_id SERIAL PRIMARY KEY,
2063 ALTER TABLE audit.phenotypeprop_audit OWNER TO web_usr;
2065 CREATE OR REPLACE FUNCTION public.phenotypeprop_audit_trig()
2071 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2075 INSERT INTO audit.phenotypeprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
2076 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2079 ELSIF TG_OP = 'UPDATE'
2082 INSERT INTO audit.phenotypeprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2083 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2087 ELSIF TG_OP = 'DELETE'
2089 INSERT INTO audit.phenotypeprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
2090 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2096 CREATE TRIGGER phenotypeprop_audit_trig
2097 BEFORE INSERT OR UPDATE OR DELETE
2098 ON public.phenotypeprop
2100 EXECUTE PROCEDURE public.phenotypeprop_audit_trig();
2102 CREATE TABLE audit.project_audit(
2103 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2104 operation VARCHAR(10) NOT NULL,
2105 username TEXT NOT NULL DEFAULT "current_user"(),
2109 transactioncode VARCHAR(40),
2110 project_audit_id SERIAL PRIMARY KEY,
2114 ALTER TABLE audit.project_audit OWNER TO web_usr;
2116 CREATE OR REPLACE FUNCTION public.project_audit_trig()
2122 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2126 INSERT INTO audit.project_audit (logged_in_user, operation, after, transactioncode, is_undo)
2127 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2130 ELSIF TG_OP = 'UPDATE'
2133 INSERT INTO audit.project_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2134 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2138 ELSIF TG_OP = 'DELETE'
2140 INSERT INTO audit.project_audit (logged_in_user, operation, before, transactioncode, is_undo)
2141 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2147 CREATE TRIGGER project_audit_trig
2148 BEFORE INSERT OR UPDATE OR DELETE
2151 EXECUTE PROCEDURE public.project_audit_trig();
2153 CREATE TABLE audit.project_contact_audit(
2154 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2155 operation VARCHAR(10) NOT NULL,
2156 username TEXT NOT NULL DEFAULT "current_user"(),
2160 transactioncode VARCHAR(40),
2161 project_contact_audit_id SERIAL PRIMARY KEY,
2165 ALTER TABLE audit.project_contact_audit OWNER TO web_usr;
2167 CREATE OR REPLACE FUNCTION public.project_contact_audit_trig()
2173 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2177 INSERT INTO audit.project_contact_audit (logged_in_user, operation, after, transactioncode, is_undo)
2178 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2181 ELSIF TG_OP = 'UPDATE'
2184 INSERT INTO audit.project_contact_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2185 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2189 ELSIF TG_OP = 'DELETE'
2191 INSERT INTO audit.project_contact_audit (logged_in_user, operation, before, transactioncode, is_undo)
2192 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2198 CREATE TRIGGER project_contact_audit_trig
2199 BEFORE INSERT OR UPDATE OR DELETE
2200 ON public.project_contact
2202 EXECUTE PROCEDURE public.project_contact_audit_trig();
2204 CREATE TABLE audit.project_pub_audit(
2205 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2206 operation VARCHAR(10) NOT NULL,
2207 username TEXT NOT NULL DEFAULT "current_user"(),
2211 transactioncode VARCHAR(40),
2212 project_pub_audit_id SERIAL PRIMARY KEY,
2216 ALTER TABLE audit.project_pub_audit OWNER TO web_usr;
2218 CREATE OR REPLACE FUNCTION public.project_pub_audit_trig()
2224 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2227 INSERT INTO audit.project_pub_audit (logged_in_user, operation, after, transactioncode, is_undo)
2228 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2231 ELSIF TG_OP = 'UPDATE'
2234 INSERT INTO audit.project_pub_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2235 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2239 ELSIF TG_OP = 'DELETE'
2241 INSERT INTO audit.project_pub_audit (logged_in_user, operation, before, transactioncode, is_undo)
2242 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2248 CREATE TRIGGER project_pub_audit_trig
2249 BEFORE INSERT OR UPDATE OR DELETE
2250 ON public.project_pub
2252 EXECUTE PROCEDURE public.project_pub_audit_trig();
2254 CREATE TABLE audit.project_relationship_audit(
2255 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2256 operation VARCHAR(10) NOT NULL,
2257 username TEXT NOT NULL DEFAULT "current_user"(),
2261 transactioncode VARCHAR(40),
2262 project_relationship_audit_id SERIAL PRIMARY KEY,
2266 ALTER TABLE audit.project_relationship_audit OWNER TO web_usr;
2268 CREATE OR REPLACE FUNCTION public.project_relationship_audit_trig()
2274 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2278 INSERT INTO audit.project_relationship_audit (logged_in_user, operation, after, transactioncode, is_undo)
2279 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2282 ELSIF TG_OP = 'UPDATE'
2285 INSERT INTO audit.project_relationship_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2286 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2290 ELSIF TG_OP = 'DELETE'
2292 INSERT INTO audit.project_relationship_audit (logged_in_user, operation, before, transactioncode, is_undo)
2293 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2299 CREATE TRIGGER project_relationship_audit_trig
2300 BEFORE INSERT OR UPDATE OR DELETE
2301 ON public.project_relationship
2303 EXECUTE PROCEDURE public.project_relationship_audit_trig();
2305 CREATE TABLE audit.projectprop_audit(
2306 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2307 operation VARCHAR(10) NOT NULL,
2308 username TEXT NOT NULL DEFAULT "current_user"(),
2312 transactioncode VARCHAR(40),
2313 projectprop_audit_id SERIAL PRIMARY KEY,
2317 ALTER TABLE audit.projectprop_audit OWNER TO web_usr;
2319 CREATE OR REPLACE FUNCTION public.projectprop_audit_trig()
2325 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2329 INSERT INTO audit.projectprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
2330 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2333 ELSIF TG_OP = 'UPDATE'
2336 INSERT INTO audit.projectprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2337 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2341 ELSIF TG_OP = 'DELETE'
2343 INSERT INTO audit.projectprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
2344 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2350 CREATE TRIGGER projectprop_audit_trig
2351 BEFORE INSERT OR UPDATE OR DELETE
2352 ON public.projectprop
2354 EXECUTE PROCEDURE public.projectprop_audit_trig();
2356 CREATE TABLE audit.pub_audit(
2357 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2358 operation VARCHAR(10) NOT NULL,
2359 username TEXT NOT NULL DEFAULT "current_user"(),
2363 transactioncode VARCHAR(40),
2364 pub_audit_id SERIAL PRIMARY KEY,
2368 ALTER TABLE audit.pub_audit OWNER TO web_usr;
2370 CREATE OR REPLACE FUNCTION public.pub_audit_trig()
2376 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2380 INSERT INTO audit.pub_audit (logged_in_user, operation, after, transactioncode, is_undo)
2381 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2384 ELSIF TG_OP = 'UPDATE'
2387 INSERT INTO audit.pub_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2388 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2392 ELSIF TG_OP = 'DELETE'
2394 INSERT INTO audit.pub_audit (logged_in_user, operation, before, transactioncode, is_undo)
2395 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2401 CREATE TRIGGER pub_audit_trig
2402 BEFORE INSERT OR UPDATE OR DELETE
2405 EXECUTE PROCEDURE public.pub_audit_trig();
2407 CREATE TABLE audit.pub_dbxref_audit(
2408 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2409 operation VARCHAR(10) NOT NULL,
2410 username TEXT NOT NULL DEFAULT "current_user"(),
2414 transactioncode VARCHAR(40),
2415 pub_dbxref_audit_id SERIAL PRIMARY KEY,
2419 ALTER TABLE audit.pub_dbxref_audit OWNER TO web_usr;
2421 CREATE OR REPLACE FUNCTION public.pub_dbxref_audit_trig()
2427 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2431 INSERT INTO audit.pub_dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
2432 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2435 ELSIF TG_OP = 'UPDATE'
2438 INSERT INTO audit.pub_dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2439 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2443 ELSIF TG_OP = 'DELETE'
2445 INSERT INTO audit.pub_dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
2446 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2452 CREATE TRIGGER pub_dbxref_audit_trig
2453 BEFORE INSERT OR UPDATE OR DELETE
2454 ON public.pub_dbxref
2456 EXECUTE PROCEDURE public.pub_dbxref_audit_trig();
2458 CREATE TABLE audit.pub_relationship_audit(
2459 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2460 operation VARCHAR(10) NOT NULL,
2461 username TEXT NOT NULL DEFAULT "current_user"(),
2465 transactioncode VARCHAR(40),
2466 pub_relationship_audit_id SERIAL PRIMARY KEY,
2470 ALTER TABLE audit.pub_relationship_audit OWNER TO web_usr;
2472 CREATE OR REPLACE FUNCTION public.pub_relationship_audit_trig()
2478 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2482 INSERT INTO audit.pub_relationship_audit (logged_in_user, operation, after, transactioncode, is_undo)
2483 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2486 ELSIF TG_OP = 'UPDATE'
2489 INSERT INTO audit.pub_relationship_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2490 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2494 ELSIF TG_OP = 'DELETE'
2496 INSERT INTO audit.pub_relationship_audit (logged_in_user, operation, before, transactioncode, is_undo)
2497 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2503 CREATE TRIGGER pub_relationship_audit_trig
2504 BEFORE INSERT OR UPDATE OR DELETE
2505 ON public.pub_relationship
2507 EXECUTE PROCEDURE public.pub_relationship_audit_trig();
2509 CREATE TABLE audit.pubabstract_audit(
2510 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2511 operation VARCHAR(10) NOT NULL,
2512 username TEXT NOT NULL DEFAULT "current_user"(),
2516 transactioncode VARCHAR(40),
2517 pubabstract_audit_id SERIAL PRIMARY KEY,
2521 ALTER TABLE audit.pubabstract_audit OWNER TO web_usr;
2523 CREATE OR REPLACE FUNCTION public.pubabstract_audit_trig()
2529 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2533 INSERT INTO audit.pubabstract_audit (logged_in_user, operation, after, transactioncode, is_undo)
2534 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2537 ELSIF TG_OP = 'UPDATE'
2540 INSERT INTO audit.pubabstract_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2541 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2545 ELSIF TG_OP = 'DELETE'
2547 INSERT INTO audit.pubabstract_audit (logged_in_user, operation, before, transactioncode, is_undo)
2548 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2554 CREATE TRIGGER pubabstract_audit_trig
2555 BEFORE INSERT OR UPDATE OR DELETE
2556 ON public.pubabstract
2558 EXECUTE PROCEDURE public.pubabstract_audit_trig();
2560 CREATE TABLE audit.pubauthor_audit(
2561 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2562 operation VARCHAR(10) NOT NULL,
2563 username TEXT NOT NULL DEFAULT "current_user"(),
2567 transactioncode VARCHAR(40),
2568 pubauthor_audit_id SERIAL PRIMARY KEY,
2572 ALTER TABLE audit.pubauthor_audit OWNER TO web_usr;
2574 CREATE OR REPLACE FUNCTION public.pubauthor_audit_trig()
2580 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2584 INSERT INTO audit.pubauthor_audit (logged_in_user, operation, after, transactioncode, is_undo)
2585 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2588 ELSIF TG_OP = 'UPDATE'
2591 INSERT INTO audit.pubauthor_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2592 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2596 ELSIF TG_OP = 'DELETE'
2598 INSERT INTO audit.pubauthor_audit (logged_in_user, operation, before, transactioncode, is_undo)
2599 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2605 CREATE TRIGGER pubauthor_audit_trig
2606 BEFORE INSERT OR UPDATE OR DELETE
2609 EXECUTE PROCEDURE public.pubauthor_audit_trig();
2611 CREATE TABLE audit.pubprop_audit(
2612 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2613 operation VARCHAR(10) NOT NULL,
2614 username TEXT NOT NULL DEFAULT "current_user"(),
2618 transactioncode VARCHAR(40),
2619 pubprop_audit_id SERIAL PRIMARY KEY,
2623 ALTER TABLE audit.pubprop_audit OWNER TO web_usr;
2625 CREATE OR REPLACE FUNCTION public.pubprop_audit_trig()
2631 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2635 INSERT INTO audit.pubprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
2636 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2639 ELSIF TG_OP = 'UPDATE'
2642 INSERT INTO audit.pubprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2643 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2647 ELSIF TG_OP = 'DELETE'
2649 INSERT INTO audit.pubprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
2650 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2656 CREATE TRIGGER pubprop_audit_trig
2657 BEFORE INSERT OR UPDATE OR DELETE
2660 EXECUTE PROCEDURE public.pubprop_audit_trig();
2662 CREATE TABLE audit.stock_audit(
2663 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2664 operation VARCHAR(10) NOT NULL,
2665 username TEXT NOT NULL DEFAULT "current_user"(),
2669 transactioncode VARCHAR(40),
2670 stock_audit_id SERIAL PRIMARY KEY,
2674 ALTER TABLE audit.stock_audit OWNER TO web_usr;
2676 CREATE OR REPLACE FUNCTION public.stock_audit_trig()
2682 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2686 INSERT INTO audit.stock_audit (logged_in_user, operation, after, transactioncode, is_undo)
2687 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2690 ELSIF TG_OP = 'UPDATE'
2693 INSERT INTO audit.stock_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2694 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2698 ELSIF TG_OP = 'DELETE'
2700 INSERT INTO audit.stock_audit (logged_in_user, operation, before, transactioncode, is_undo)
2701 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2707 CREATE TRIGGER stock_audit_trig
2708 BEFORE INSERT OR UPDATE OR DELETE
2711 EXECUTE PROCEDURE public.stock_audit_trig();
2713 CREATE TABLE audit.stock_cvterm_audit(
2714 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2715 operation VARCHAR(10) NOT NULL,
2716 username TEXT NOT NULL DEFAULT "current_user"(),
2720 transactioncode VARCHAR(40),
2721 stock_cvterm_id SERIAL PRIMARY KEY,
2725 ALTER TABLE audit.stock_cvterm_audit OWNER TO web_usr;
2727 CREATE OR REPLACE FUNCTION public.stock_cvterm_audit_trig()
2733 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2737 INSERT INTO audit.stock_cvterm_audit (logged_in_user, operation, after, transactioncode, is_undo)
2738 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2741 ELSIF TG_OP = 'UPDATE'
2744 INSERT INTO audit.stock_cvterm_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2745 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2749 ELSIF TG_OP = 'DELETE'
2751 INSERT INTO audit.stock_cvterm_audit (logged_in_user, operation, before, transactioncode, is_undo)
2752 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2758 CREATE TRIGGER stock_cvterm_audit_trig
2759 BEFORE INSERT OR UPDATE OR DELETE
2760 ON public.stock_cvterm
2762 EXECUTE PROCEDURE public.stock_cvterm_audit_trig();
2764 CREATE TABLE audit.stock_cvtermprop_audit(
2765 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2766 operation VARCHAR(10) NOT NULL,
2767 username TEXT NOT NULL DEFAULT "current_user"(),
2771 transactioncode VARCHAR(40),
2772 stock_cvtermprop_audit_id SERIAL PRIMARY KEY,
2776 ALTER TABLE audit.stock_cvtermprop_audit OWNER TO web_usr;
2778 CREATE OR REPLACE FUNCTION public.stock_cvtermprop_audit_trig()
2784 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2788 INSERT INTO audit.stock_cvtermprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
2789 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2792 ELSIF TG_OP = 'UPDATE'
2795 INSERT INTO audit.stock_cvtermprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2796 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2800 ELSIF TG_OP = 'DELETE'
2802 INSERT INTO audit.stock_cvtermprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
2803 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2809 CREATE TRIGGER stock_cvtermprop_audit_trig
2810 BEFORE INSERT OR UPDATE OR DELETE
2811 ON public.stock_cvtermprop
2813 EXECUTE PROCEDURE public.stock_cvtermprop_audit_trig();
2815 CREATE TABLE audit.stock_dbxref_audit(
2816 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2817 operation VARCHAR(10) NOT NULL,
2818 username TEXT NOT NULL DEFAULT "current_user"(),
2822 transactioncode VARCHAR(40),
2823 stock_dbxref_audit_id SERIAL PRIMARY KEY,
2827 ALTER TABLE audit.stock_dbxref_audit OWNER TO web_usr;
2829 CREATE OR REPLACE FUNCTION public.stock_dbxref_audit_trig()
2835 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2839 INSERT INTO audit.stock_dbxref_audit (logged_in_user, operation, after, transactioncode, is_undo)
2840 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2843 ELSIF TG_OP = 'UPDATE'
2846 INSERT INTO audit.stock_dbxref_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2847 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2851 ELSIF TG_OP = 'DELETE'
2853 INSERT INTO audit.stock_dbxref_audit (logged_in_user, operation, before, transactioncode, is_undo)
2854 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2860 CREATE TRIGGER stock_dbxref_audit_trig
2861 BEFORE INSERT OR UPDATE OR DELETE
2862 ON public.stock_dbxref
2864 EXECUTE PROCEDURE public.stock_dbxref_audit_trig();
2866 CREATE TABLE audit.stock_dbxrefprop_audit(
2867 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2868 operation VARCHAR(10) NOT NULL,
2869 username TEXT NOT NULL DEFAULT "current_user"(),
2873 transactioncode VARCHAR(40),
2874 stock_dbxrefprop_audit_id SERIAL PRIMARY KEY,
2878 ALTER TABLE audit.stock_dbxrefprop_audit OWNER TO web_usr;
2880 CREATE OR REPLACE FUNCTION public.stock_dbxrefprop_audit_trig()
2886 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2890 INSERT INTO audit.stock_dbxrefprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
2891 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2894 ELSIF TG_OP = 'UPDATE'
2897 INSERT INTO audit.stock_dbxrefprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2898 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2902 ELSIF TG_OP = 'DELETE'
2904 INSERT INTO audit.stock_dbxrefprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
2905 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2911 CREATE TRIGGER stock_dbxrefprop_audit_trig
2912 BEFORE INSERT OR UPDATE OR DELETE
2913 ON public.stock_dbxrefprop
2915 EXECUTE PROCEDURE public.stock_dbxrefprop_audit_trig();
2917 CREATE TABLE audit.stock_genotype_audit(
2918 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2919 operation VARCHAR(10) NOT NULL,
2920 username TEXT NOT NULL DEFAULT "current_user"(),
2924 transactioncode VARCHAR(40),
2925 stock_genotype_audit_id SERIAL PRIMARY KEY,
2929 ALTER TABLE audit.stock_genotype_audit OWNER TO web_usr;
2931 CREATE OR REPLACE FUNCTION public.stock_genotype_audit_trig()
2937 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2941 INSERT INTO audit.stock_genotype_audit (logged_in_user, operation, after, transactioncode, is_undo)
2942 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2945 ELSIF TG_OP = 'UPDATE'
2948 INSERT INTO audit.stock_genotype_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
2949 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2953 ELSIF TG_OP = 'DELETE'
2955 INSERT INTO audit.stock_genotype_audit (logged_in_user, operation, before, transactioncode, is_undo)
2956 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
2962 CREATE TRIGGER stock_genotype_audit_trig
2963 BEFORE INSERT OR UPDATE OR DELETE
2964 ON public.stock_genotype
2966 EXECUTE PROCEDURE public.stock_genotype_audit_trig();
2968 CREATE TABLE audit.stock_pub_audit(
2969 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
2970 operation VARCHAR(10) NOT NULL,
2971 username TEXT NOT NULL DEFAULT "current_user"(),
2975 transactioncode VARCHAR(40),
2976 stock_pub_audit_id SERIAL PRIMARY KEY,
2980 ALTER TABLE audit.stock_pub_audit OWNER TO web_usr;
2982 CREATE OR REPLACE FUNCTION public.stock_pub_audit_trig()
2988 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
2992 INSERT INTO audit.stock_pub_audit (logged_in_user, operation, after, transactioncode, is_undo)
2993 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
2996 ELSIF TG_OP = 'UPDATE'
2999 INSERT INTO audit.stock_pub_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3000 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3004 ELSIF TG_OP = 'DELETE'
3006 INSERT INTO audit.stock_pub_audit (logged_in_user, operation, before, transactioncode, is_undo)
3007 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3013 CREATE TRIGGER stock_pub_audit_trig
3014 BEFORE INSERT OR UPDATE OR DELETE
3017 EXECUTE PROCEDURE public.stock_pub_audit_trig();
3019 CREATE TABLE audit.stock_relationship_audit(
3020 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3021 operation VARCHAR(10) NOT NULL,
3022 username TEXT NOT NULL DEFAULT "current_user"(),
3026 transactioncode VARCHAR(40),
3027 stock_relationship_audit_id SERIAL PRIMARY KEY,
3031 ALTER TABLE audit.stock_relationship_audit OWNER TO web_usr;
3033 CREATE OR REPLACE FUNCTION public.stock_relationship_audit_trig()
3039 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3043 INSERT INTO audit.stock_relationship_audit (logged_in_user, operation, after, transactioncode, is_undo)
3044 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3047 ELSIF TG_OP = 'UPDATE'
3050 INSERT INTO audit.stock_relationship_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3051 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3055 ELSIF TG_OP = 'DELETE'
3057 INSERT INTO audit.stock_relationship_audit (logged_in_user, operation, before, transactioncode, is_undo)
3058 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3064 CREATE TRIGGER stock_relationship_audit_trig
3065 BEFORE INSERT OR UPDATE OR DELETE
3066 ON public.stock_relationship
3068 EXECUTE PROCEDURE public.stock_relationship_audit_trig();
3070 CREATE TABLE audit.stock_relationship_cvterm_audit(
3071 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3072 operation VARCHAR(10) NOT NULL,
3073 username TEXT NOT NULL DEFAULT "current_user"(),
3077 transactioncode VARCHAR(40),
3078 stock_relationship_cvterm_audit_id SERIAL PRIMARY KEY,
3082 ALTER TABLE audit.stock_relationship_cvterm_audit OWNER TO web_usr;
3084 CREATE OR REPLACE FUNCTION public.stock_relationship_cvterm_audit_trig()
3090 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3094 INSERT INTO audit.stock_relationship_cvterm_audit (logged_in_user, operation, after, transactioncode, is_undo)
3095 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3098 ELSIF TG_OP = 'UPDATE'
3101 INSERT INTO audit.stock_relationship_cvterm_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3102 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3106 ELSIF TG_OP = 'DELETE'
3108 INSERT INTO audit.stock_relationship_cvterm_audit (logged_in_user, operation, before, transactioncode, is_undo)
3109 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3115 CREATE TRIGGER stock_relationship_cvterm_audit_trig
3116 BEFORE INSERT OR UPDATE OR DELETE
3117 ON public.stock_relationship_cvterm
3119 EXECUTE PROCEDURE public.stock_relationship_cvterm_audit_trig();
3121 CREATE TABLE audit.stock_relationship_pub_audit(
3122 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3123 operation VARCHAR(10) NOT NULL,
3124 username TEXT NOT NULL DEFAULT "current_user"(),
3128 transactioncode VARCHAR(40),
3129 stock_relationship_pub_audit_id SERIAL PRIMARY KEY,
3133 ALTER TABLE audit.stock_relationship_pub_audit OWNER TO web_usr;
3135 CREATE OR REPLACE FUNCTION public.stock_relationship_pub_audit_trig()
3141 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3145 INSERT INTO audit.stock_relationship_pub_audit (logged_in_user, operation, after, transactioncode, is_undo)
3146 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3149 ELSIF TG_OP = 'UPDATE'
3152 INSERT INTO audit.stock_relationship_pub_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3153 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3157 ELSIF TG_OP = 'DELETE'
3159 INSERT INTO audit.stock_relationship_pub_audit (logged_in_user, operation, before, transactioncode, is_undo)
3160 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3166 CREATE TRIGGER stock_relationship_pub_audit_trig
3167 BEFORE INSERT OR UPDATE OR DELETE
3168 ON public.stock_relationship_pub
3170 EXECUTE PROCEDURE public.stock_relationship_pub_audit_trig();
3172 CREATE TABLE audit.stockcollection_audit(
3173 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3174 operation VARCHAR(10) NOT NULL,
3175 username TEXT NOT NULL DEFAULT "current_user"(),
3179 transactioncode VARCHAR(40),
3180 stockcollection_audit_id SERIAL PRIMARY KEY,
3184 ALTER TABLE audit.stockcollection_audit OWNER TO web_usr;
3186 CREATE OR REPLACE FUNCTION public.stockcollection_audit_trig()
3192 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3196 INSERT INTO audit.stockcollection_audit (logged_in_user, operation, after, transactioncode, is_undo)
3197 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3200 ELSIF TG_OP = 'UPDATE'
3203 INSERT INTO audit.stockcollection_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3204 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3208 ELSIF TG_OP = 'DELETE'
3210 INSERT INTO audit.stockcollection_audit (logged_in_user, operation, before, transactioncode, is_undo)
3211 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3217 CREATE TRIGGER stockcollection_audit_trig
3218 BEFORE INSERT OR UPDATE OR DELETE
3219 ON public.stockcollection
3221 EXECUTE PROCEDURE public.stockcollection_audit_trig();
3223 CREATE TABLE audit.stockcollection_stock_audit(
3224 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3225 operation VARCHAR(10) NOT NULL,
3226 username TEXT NOT NULL DEFAULT "current_user"(),
3230 transactioncode VARCHAR(40),
3231 stockcollection_stock_audit_id SERIAL PRIMARY KEY,
3235 ALTER TABLE audit.stockcollection_stock_audit OWNER TO web_usr;
3237 CREATE OR REPLACE FUNCTION public.stockcollection_stock_audit_trig()
3243 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3247 INSERT INTO audit.stockcollection_stock_audit (logged_in_user, operation, after, transactioncode, is_undo)
3248 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3251 ELSIF TG_OP = 'UPDATE'
3254 INSERT INTO audit.stockcollection_stock_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3255 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3259 ELSIF TG_OP = 'DELETE'
3261 INSERT INTO audit.stockcollection_stock_audit (logged_in_user, operation, before, transactioncode, is_undo)
3262 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3268 CREATE TRIGGER stockcollection_stock_audit_trig
3269 BEFORE INSERT OR UPDATE OR DELETE
3270 ON public.stockcollection_stock
3272 EXECUTE PROCEDURE public.stockcollection_stock_audit_trig();
3274 CREATE TABLE audit.stockcollectionprop_audit(
3275 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3276 operation VARCHAR(10) NOT NULL,
3277 username TEXT NOT NULL DEFAULT "current_user"(),
3281 transactioncode VARCHAR(40),
3282 stockcollectionprop_audit_id SERIAL PRIMARY KEY,
3286 ALTER TABLE audit.stockcollectionprop_audit OWNER TO web_usr;
3288 CREATE OR REPLACE FUNCTION public.stockcollectionprop_audit_trig()
3294 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3298 INSERT INTO audit.stockcollectionprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
3299 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3302 ELSIF TG_OP = 'UPDATE'
3305 INSERT INTO audit.stockcollectionprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3306 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3310 ELSIF TG_OP = 'DELETE'
3312 INSERT INTO audit.stockcollectionprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
3313 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3319 CREATE TRIGGER stockcollectionprop_audit_trig
3320 BEFORE INSERT OR UPDATE OR DELETE
3321 ON public.stockcollectionprop
3323 EXECUTE PROCEDURE public.stockcollectionprop_audit_trig();
3325 CREATE TABLE audit.stockprop_audit(
3326 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3327 operation VARCHAR(10) NOT NULL,
3328 username TEXT NOT NULL DEFAULT "current_user"(),
3332 transactioncode VARCHAR(40),
3333 stockprop_audit_id SERIAL PRIMARY KEY,
3337 ALTER TABLE audit.stockprop_audit OWNER TO web_usr;
3339 CREATE OR REPLACE FUNCTION public.stockprop_audit_trig()
3345 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3349 INSERT INTO audit.stockprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
3350 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3353 ELSIF TG_OP = 'UPDATE'
3356 INSERT INTO audit.stockprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3357 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3361 ELSIF TG_OP = 'DELETE'
3363 INSERT INTO audit.stockprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
3364 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3370 CREATE TRIGGER stockprop_audit_trig
3371 BEFORE INSERT OR UPDATE OR DELETE
3374 EXECUTE PROCEDURE public.stockprop_audit_trig();
3376 CREATE TABLE audit.stockprop_pub_audit(
3377 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3378 operation VARCHAR(10) NOT NULL,
3379 username TEXT NOT NULL DEFAULT "current_user"(),
3383 transactioncode VARCHAR(40),
3384 stockprop_pub_audit_id SERIAL PRIMARY KEY,
3388 ALTER TABLE audit.stockprop_pub_audit OWNER TO web_usr;
3390 CREATE OR REPLACE FUNCTION public.stockprop_pub_audit_trig()
3396 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3400 INSERT INTO audit.stockprop_pub_audit (logged_in_user, operation, after, transactioncode, is_undo)
3401 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3404 ELSIF TG_OP = 'UPDATE'
3407 INSERT INTO audit.stockprop_pub_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3408 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3412 ELSIF TG_OP = 'DELETE'
3414 INSERT INTO audit.stockprop_pub_audit (logged_in_user, operation, before, transactioncode, is_undo)
3415 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3421 CREATE TRIGGER stockprop_pub_audit_trig
3422 BEFORE INSERT OR UPDATE OR DELETE
3423 ON public.stockprop_pub
3425 EXECUTE PROCEDURE public.stockprop_pub_audit_trig();
3427 CREATE TABLE audit.list_audit(
3428 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3429 operation VARCHAR(10) NOT NULL,
3430 username TEXT NOT NULL DEFAULT "current_user"(),
3434 transactioncode VARCHAR(40),
3435 list_audit_id SERIAL PRIMARY KEY,
3439 ALTER TABLE audit.list_audit OWNER TO web_usr;
3441 CREATE OR REPLACE FUNCTION sgn_people.list_audit_trig()
3447 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3451 INSERT INTO audit.list_audit (logged_in_user, operation, after, transactioncode, is_undo)
3452 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3455 ELSIF TG_OP = 'UPDATE'
3458 INSERT INTO audit.list_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3459 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3463 ELSIF TG_OP = 'DELETE'
3465 INSERT INTO audit.list_audit (logged_in_user, operation, before, transactioncode, is_undo)
3466 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3472 CREATE TRIGGER list_audit_trig
3473 BEFORE INSERT OR UPDATE OR DELETE
3476 EXECUTE PROCEDURE sgn_people.list_audit_trig();
3478 CREATE TABLE audit.list_item_audit(
3479 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3480 operation VARCHAR(10) NOT NULL,
3481 username TEXT NOT NULL DEFAULT "current_user"(),
3485 transactioncode VARCHAR(40),
3486 list_item_audit_id SERIAL PRIMARY KEY,
3490 ALTER TABLE audit.list_item_audit OWNER TO web_usr;
3492 CREATE OR REPLACE FUNCTION sgn_people.list_item_audit_trig()
3498 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3502 INSERT INTO audit.list_item_audit (logged_in_user, operation, after, transactioncode, is_undo)
3503 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3506 ELSIF TG_OP = 'UPDATE'
3509 INSERT INTO audit.list_item_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3510 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3514 ELSIF TG_OP = 'DELETE'
3516 INSERT INTO audit.list_item_audit (logged_in_user, operation, before, transactioncode, is_undo)
3517 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3523 CREATE TRIGGER list_item_audit_trig
3524 BEFORE INSERT OR UPDATE OR DELETE
3525 ON sgn_people.list_item
3527 EXECUTE PROCEDURE sgn_people.list_item_audit_trig();
3529 CREATE TABLE audit.sp_dataset_audit(
3530 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3531 operation VARCHAR(10) NOT NULL,
3532 username TEXT NOT NULL DEFAULT "current_user"(),
3536 transactioncode VARCHAR(40),
3537 sp_dataset_audit_id SERIAL PRIMARY KEY,
3541 ALTER TABLE audit.sp_dataset_audit OWNER TO web_usr;
3543 CREATE OR REPLACE FUNCTION sgn_people.sp_dataset_audit_trig()
3549 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3553 INSERT INTO audit.sp_dataset_audit (logged_in_user, operation, after, transactioncode, is_undo)
3554 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3557 ELSIF TG_OP = 'UPDATE'
3560 INSERT INTO audit.sp_dataset_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3561 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3565 ELSIF TG_OP = 'DELETE'
3567 INSERT INTO audit.sp_dataset_audit (logged_in_user, operation, before, transactioncode, is_undo)
3568 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3574 CREATE TRIGGER sp_dataset_audit_trig
3575 BEFORE INSERT OR UPDATE OR DELETE
3576 ON sgn_people.sp_dataset
3578 EXECUTE PROCEDURE sgn_people.sp_dataset_audit_trig();
3580 CREATE TABLE audit.sp_order_audit(
3581 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3582 operation VARCHAR(10) NOT NULL,
3583 username TEXT NOT NULL DEFAULT "current_user"(),
3587 transactioncode VARCHAR(40),
3588 sp_order_audit_id SERIAL PRIMARY KEY,
3592 ALTER TABLE audit.sp_order_audit OWNER TO web_usr;
3594 CREATE OR REPLACE FUNCTION sgn_people.sp_order_audit_trig()
3600 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3604 INSERT INTO audit.sp_order_audit (logged_in_user, operation, after, transactioncode, is_undo)
3605 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3608 ELSIF TG_OP = 'UPDATE'
3611 INSERT INTO audit.sp_order_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3612 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3616 ELSIF TG_OP = 'DELETE'
3618 INSERT INTO audit.sp_order_audit (logged_in_user, operation, before, transactioncode, is_undo)
3619 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3625 CREATE TRIGGER sp_order_audit_trig
3626 BEFORE INSERT OR UPDATE OR DELETE
3627 ON sgn_people.sp_order
3629 EXECUTE PROCEDURE sgn_people.sp_order_audit_trig();
3631 CREATE TABLE audit.sp_orderprop_audit(
3632 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3633 operation VARCHAR(10) NOT NULL,
3634 username TEXT NOT NULL DEFAULT "current_user"(),
3638 transactioncode VARCHAR(40),
3639 sp_orderprop_audit_id SERIAL PRIMARY KEY,
3643 ALTER TABLE audit.sp_orderprop_audit OWNER TO web_usr;
3645 CREATE OR REPLACE FUNCTION sgn_people.sp_orderprop_audit_trig()
3651 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3655 INSERT INTO audit.sp_orderprop_audit (logged_in_user, operation, after, transactioncode, is_undo)
3656 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3659 ELSIF TG_OP = 'UPDATE'
3662 INSERT INTO audit.sp_orderprop_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3663 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3667 ELSIF TG_OP = 'DELETE'
3669 INSERT INTO audit.sp_orderprop_audit (logged_in_user, operation, before, transactioncode, is_undo)
3670 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3676 CREATE TRIGGER sp_orderprop_audit_trig
3677 BEFORE INSERT OR UPDATE OR DELETE
3678 ON sgn_people.sp_orderprop
3680 EXECUTE PROCEDURE sgn_people.sp_orderprop_audit_trig();
3682 CREATE TABLE audit.sp_person_audit(
3683 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3684 operation VARCHAR(10) NOT NULL,
3685 username TEXT NOT NULL DEFAULT "current_user"(),
3689 transactioncode VARCHAR(40),
3690 sp_person_audit_id SERIAL PRIMARY KEY,
3694 ALTER TABLE audit.sp_person_audit OWNER TO web_usr;
3696 CREATE OR REPLACE FUNCTION sgn_people.sp_person_audit_trig()
3702 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3706 INSERT INTO audit.sp_person_audit (logged_in_user, operation, after, transactioncode, is_undo)
3707 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3710 ELSIF TG_OP = 'UPDATE'
3713 INSERT INTO audit.sp_person_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3714 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3718 ELSIF TG_OP = 'DELETE'
3720 INSERT INTO audit.sp_person_audit (logged_in_user, operation, before, transactioncode, is_undo)
3721 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3727 CREATE TRIGGER sp_person_audit_trig
3728 BEFORE INSERT OR UPDATE OR DELETE
3729 ON sgn_people.sp_person
3731 EXECUTE PROCEDURE sgn_people.sp_person_audit_trig();
3733 CREATE TABLE audit.sp_roles_audit(
3734 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3735 operation VARCHAR(10) NOT NULL,
3736 username TEXT NOT NULL DEFAULT "current_user"(),
3740 transactioncode VARCHAR(40),
3741 sp_roles_audit_id SERIAL PRIMARY KEY,
3745 ALTER TABLE audit.sp_roles_audit OWNER TO web_usr;
3747 CREATE OR REPLACE FUNCTION sgn_people.sp_roles_audit_trig()
3753 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3757 INSERT INTO audit.sp_roles_audit (logged_in_user, operation, after, transactioncode, is_undo)
3758 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3761 ELSIF TG_OP = 'UPDATE'
3764 INSERT INTO audit.sp_roles_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3765 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3769 ELSIF TG_OP = 'DELETE'
3771 INSERT INTO audit.sp_roles_audit (logged_in_user, operation, before, transactioncode, is_undo)
3772 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3778 CREATE TRIGGER sp_roles_audit_trig
3779 BEFORE INSERT OR UPDATE OR DELETE
3780 ON sgn_people.sp_roles
3782 EXECUTE PROCEDURE sgn_people.sp_roles_audit_trig();
3784 CREATE TABLE audit.sp_token_audit(
3785 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3786 operation VARCHAR(10) NOT NULL,
3787 username TEXT NOT NULL DEFAULT "current_user"(),
3791 transactioncode VARCHAR(40),
3792 sp_token_audit_id SERIAL PRIMARY KEY,
3796 ALTER TABLE audit.sp_token_audit OWNER TO web_usr;
3798 CREATE OR REPLACE FUNCTION sgn_people.sp_token_audit_trig()
3804 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3808 INSERT INTO audit.sp_token_audit (logged_in_user, operation, after, transactioncode, is_undo)
3809 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3812 ELSIF TG_OP = 'UPDATE'
3815 INSERT INTO audit.sp_token_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3816 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3820 ELSIF TG_OP = 'DELETE'
3822 INSERT INTO audit.sp_token_audit (logged_in_user, operation, before, transactioncode, is_undo)
3823 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3829 CREATE TRIGGER sp_token_audit_trig
3830 BEFORE INSERT OR UPDATE OR DELETE
3831 ON sgn_people.sp_token
3833 EXECUTE PROCEDURE sgn_people.sp_token_audit_trig();
3835 CREATE TABLE audit.sp_person_roles_audit(
3836 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3837 operation VARCHAR(10) NOT NULL,
3838 username TEXT NOT NULL DEFAULT "current_user"(),
3842 transactioncode VARCHAR(40),
3843 sp_person_roles_audit_id SERIAL PRIMARY KEY,
3847 ALTER TABLE audit.sp_person_roles_audit OWNER TO web_usr;
3849 CREATE OR REPLACE FUNCTION sgn_people.sp_person_roles_audit_trig()
3855 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3859 INSERT INTO audit.sp_person_roles_audit (logged_in_user, operation, after, transactioncode, is_undo)
3860 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3863 ELSIF TG_OP = 'UPDATE'
3866 INSERT INTO audit.sp_person_roles_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3867 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3871 ELSIF TG_OP = 'DELETE'
3873 INSERT INTO audit.sp_person_roles_audit (logged_in_user, operation, before, transactioncode, is_undo)
3874 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3880 CREATE TRIGGER sp_person_roles_audit_trig
3881 BEFORE INSERT OR UPDATE OR DELETE
3882 ON sgn_people.sp_person_roles
3884 EXECUTE PROCEDURE sgn_people.sp_person_roles_audit_trig();
3886 CREATE TABLE audit.sp_organization_audit(
3887 audit_ts TIMESTAMPTZ NOT NULL DEFAULT NOW(),
3888 operation VARCHAR(10) NOT NULL,
3889 username TEXT NOT NULL DEFAULT "current_user"(),
3893 transactioncode VARCHAR(40),
3894 sp_organization_audit_id SERIAL PRIMARY KEY,
3898 ALTER TABLE audit.sp_organization_audit OWNER TO web_usr;
3900 CREATE OR REPLACE FUNCTION sgn_people.sp_organization_audit_trig()
3906 CREATE TEMPORARY TABLE IF NOT EXISTS logged_in_user(sp_person_id bigint);
3910 INSERT INTO audit.sp_organization_audit (logged_in_user, operation, after, transactioncode, is_undo)
3911 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3914 ELSIF TG_OP = 'UPDATE'
3917 INSERT INTO audit.sp_organization_audit (logged_in_user, operation, before, after, transactioncode, is_undo)
3918 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), to_jsonb(NEW), (SELECT NOW()::TEXT || txid_current()), FALSE);
3922 ELSIF TG_OP = 'DELETE'
3924 INSERT INTO audit.sp_organization_audit (logged_in_user, operation, before, transactioncode, is_undo)
3925 VALUES ((SELECT max(sp_person_id) FROM logged_in_user WHERE sp_person_id IS NOT NULL), TG_OP, to_jsonb(OLD), (SELECT NOW()::TEXT || txid_current()), FALSE);
3931 CREATE TRIGGER sp_organization_audit_trig
3932 BEFORE INSERT OR UPDATE OR DELETE
3933 ON sgn_people.sp_organization
3935 EXECUTE PROCEDURE sgn_people.sp_organization_audit_trig();
3941 print "You're done!\n";