[Lada-commits] [PATCH 1 of 2] Use databse triggers for update on field 'letzteAenderung'
Wald Commits
scm-commit at wald.intevation.org
Fri Apr 29 16:41:09 CEST 2016
# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1461940713 -7200
# Node ID 9121d99a471eef8018e8baabc49345249b099d00
# Parent 20547dfc436e65fa11995a2001610325b6057f0a
Use databse triggers for update on field 'letzteAenderung'.
diff -r 20547dfc436e -r 9121d99a471e db_schema/lada_schema.sql
--- a/db_schema/lada_schema.sql Wed Apr 13 20:34:37 2016 +0200
+++ b/db_schema/lada_schema.sql Fri Apr 29 16:38:33 2016 +0200
@@ -39,9 +39,26 @@
END;
$$;
+CREATE FUNCTION update_letzte_aenderung() RETURNS trigger
+ LANGUAGE plpgsql
+ AS $$
+ BEGIN
+ NEW.letzte_aenderung = now();
+ RETURN NEW;
+ END;
+$$;
SET search_path = land, pg_catalog;
+CREATE FUNCTION update_letzte_aenderung() RETURNS trigger
+ LANGUAGE plpgsql
+ AS $$
+ BEGIN
+ NEW.letzte_aenderung = now();
+ RETURN NEW;
+ END;
+$$;
+
--
-- Name: is_probe_fertig(integer); Type: FUNCTION; Schema: land; Owner: -
--
@@ -197,6 +214,7 @@
letzte_aenderung timestamp with time zone NOT NULL,
gueltig_bis timestamp with time zone
);
+CREATE TRIGGER letzte_aenderung_list BEFORE UPDATE ON list FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
--
@@ -255,6 +273,7 @@
status integer,
letzte_aenderung timestamp without time zone DEFAULT now()
);
+CREATE TRIGGER letzte_aenderung_messung BEFORE UPDATE ON messung FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
--
@@ -309,6 +328,7 @@
grenzwertueberschreitung boolean DEFAULT false,
letzte_aenderung timestamp without time zone DEFAULT now()
);
+CREATE TRIGGER letzte_aenderung_messwert BEFORE UPDATE ON messwert FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
--
@@ -335,6 +355,7 @@
ortszusatztext character varying(100),
letzte_aenderung timestamp without time zone DEFAULT now()
);
+CREATE TRIGGER letzte_aenderung_ortszuordnung BEFORE UPDATE ON ortszuordnung FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
--
@@ -381,6 +402,8 @@
letzte_aenderung timestamp without time zone DEFAULT now()
);
+CREATE TRIGGER letzte_aenderung_probe BEFORE UPDATE ON probe FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
+
--
-- Name: COLUMN probe.id; Type: COMMENT; Schema: bund; Owner: -
--
@@ -500,6 +523,7 @@
letzte_aenderung timestamp without time zone DEFAULT now(),
nwg_zu_messwert double precision
);
+CREATE TRIGGER letzte_aenderung_zusatzwert BEFORE UPDATE ON zusatz_wert FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
SET search_path = land, pg_catalog;
@@ -564,6 +588,7 @@
probe_kommentar character varying(80),
letzte_aenderung timestamp without time zone DEFAULT now() NOT NULL
);
+CREATE TRIGGER letzte_aenderung_messprogramm BEFORE UPDATE ON messprogramm FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
--
-- Name: messprogramm_id_seq; Type: SEQUENCE OWNED BY; Schema: land; Owner: -
@@ -590,6 +615,7 @@
messgroessen integer[],
letzte_aenderung timestamp without time zone DEFAULT now()
);
+CREATE TRIGGER letzte_aenderung_messprogramm_mmt BEFORE UPDATE ON messprogramm_mmt FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
--
diff -r 20547dfc436e -r 9121d99a471e db_schema/stammdaten_schema.sql
--- a/db_schema/stammdaten_schema.sql Wed Apr 13 20:34:37 2016 +0200
+++ b/db_schema/stammdaten_schema.sql Fri Apr 29 16:38:33 2016 +0200
@@ -14,6 +14,14 @@
SET search_path = stammdaten, pg_catalog;
+CREATE FUNCTION update_letzte_aenderung() RETURNS trigger
+ LANGUAGE plpgsql
+ AS $$
+ BEGIN
+ NEW.letzte_aenderung = now();
+ RETURN NEW;
+ END;
+$$;
CREATE FUNCTION get_media_from_media_desk(media_desk character varying) RETURNS character varying
LANGUAGE plpgsql
@@ -219,6 +227,7 @@
letzte_aenderung timestamp without time zone,
UNIQUE(da_erzeuger_id, netzbetreiber_id)
);
+CREATE TRIGGER letzte_aenderung_datensatz_erzeuger BEFORE UPDATE ON datensatz_erzeuger FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
ALTER SEQUENCE datensatz_erzeuger_id_seq OWNED BY datensatz_erzeuger.id;
@@ -454,6 +463,7 @@
letzte_aenderung timestamp without time zone,
UNIQUE(mpl_id, netzbetreiber_id)
);
+CREATE TRIGGER letzte_aenderung_messprogramm_kategorie BEFORE UPDATE ON messprogramm_kategorie FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
ALTER SEQUENCE messprogramm_kategorie_id_seq
OWNED BY messprogramm_kategorie.id;
@@ -522,6 +532,7 @@
oz_id integer,
UNIQUE(ort_id, netzbetreiber_id)
);
+CREATE TRIGGER letzte_aenderung_ort BEFORE UPDATE ON ort FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
ALTER TABLE ONLY ort
ADD CONSTRAINT ort_anlage_fkey FOREIGN KEY (anlage_id) REFERENCES ort(id);
@@ -608,6 +619,7 @@
letzte_aenderung timestamp without time zone,
UNIQUE(prn_id, netzbetreiber_id)
);
+CREATE TRIGGER letzte_aenderung_probenehmer BEFORE UPDATE ON probenehmer FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung();
ALTER SEQUENCE probenehmer_id_seq OWNED BY probenehmer.id;
More information about the Lada-commits
mailing list