[Webfgsk-commits] r444 - in trunk: . contrib/db
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Tue Jul 12 14:19:59 CEST 2011
Author: sholl
Date: 2011-07-12 14:19:58 +0200 (Tue, 12 Jul 2011)
New Revision: 444
Modified:
trunk/ChangeLog
trunk/contrib/db/auswertung_kartierabschnitt.sql
Log:
* contrib/db/auswertung_kartierabschnitt.sql: Fix issue #2511.
Added a section to recalculate the ratings when disabling
'sonderfall'.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2011-07-04 07:42:05 UTC (rev 443)
+++ trunk/ChangeLog 2011-07-12 12:19:58 UTC (rev 444)
@@ -1,3 +1,9 @@
+2011-07-12 Stephan Holl <stephan.holl at intevation.de>
+
+ * contrib/db/auswertung_kartierabschnitt.sql: Fix issue #2511.
+ Added a section to recalculate the ratings when disabling
+ 'sonderfall'.
+
2011-06-30 Stephan Holl <stephan.holl at intevation.de>
* contrib/db/auswertung_gesamt.sql: Fix: remove return-statement when
Modified: trunk/contrib/db/auswertung_kartierabschnitt.sql
===================================================================
--- trunk/contrib/db/auswertung_kartierabschnitt.sql 2011-07-04 07:42:05 UTC (rev 443)
+++ trunk/contrib/db/auswertung_kartierabschnitt.sql 2011-07-12 12:19:58 UTC (rev 444)
@@ -65,14 +65,35 @@
END;
$$ LANGUAGE plpgsql;
+--
+-- Remove bewertungen
+--
+CREATE OR REPLACE FUNCTION
+ delete_bewertung_func(kartierabsch_id INTEGER)
+RETURNS INTEGER AS
+$$
+DECLARE
+BEGIN
+ UPDATE kartierabschnitt SET punktzahl_gesamt = NULL,
+ punktzahl_sohle = NULL,
+ punktzahl_ufer = NULL,
+ punktzahl_land = NULL
+ WHERE id = kartierabsch_id;
+
+ --
+
+ RETURN kartierabsch_id;
+END;
+$$ LANGUAGE plpgsql;
+
CREATE OR REPLACE FUNCTION update_gewaessertyp_kartierabschnitt_func()
RETURNS TRIGGER AS
$$
DECLARE
BEGIN
- RAISE DEBUG '%: TABLE NAME = %', TG_OP, TG_TABLE_NAME;
IF (TG_OP = 'UPDATE') THEN
IF (TG_TABLE_NAME = 'kartierabschnitt') THEN
+ RAISE DEBUG '%: TABLE NAME = %', TG_OP, TG_TABLE_NAME;
IF (NEW.gewaessertyp_id IS NOT NULL AND
NEW.gewaessertyp_id != OLD.gewaessertyp_id) THEN
RAISE DEBUG 'Gewaessertyp hat sich geaendert.';
@@ -85,6 +106,14 @@
NEW.stationierung_bis != OLD.stationierung_bis) THEN
RAISE DEBUG 'Stationierung BIS hat sich geaendert.';
perform recalculate_total_points_kartierabschnitt_func(NEW.id);
+ ELSEIF (NEW.sonderfall_id IS NULL AND OLD.sonderfall_id IS NOT
+ NULL) THEN
+ RAISE DEBUG 'Sonderfall wurde entfernt.';
+ PERFORM recalculate_total_points_kartierabschnitt_func(NEW.id);
+ ELSEIF (NEW.sonderfall_id IS NOT NULL AND Old.sonderfall_id IS
+ NULL) THEN
+ RAISE DEBUG 'Bewertung wird entfernt, da Sonderfall vorhanden.';
+ PERFORM delete_bewertung_func(NEW.id);
END IF;
END IF;
END IF;
@@ -111,4 +140,4 @@
update_gewaessertyp_kartierabschnitt_func();
-- END TRANSACTION
-END;
\ No newline at end of file
+END;
More information about the Webfgsk-commits
mailing list