diff schema/gemma.sql @ 5144:f11b9b50fcc9

Keep historic data of fairway dimensions ... and accordingly configure the respective layer as WMS-T.
author Tom Gottfried <tom@intevation.de>
date Tue, 31 Mar 2020 18:59:28 +0200
parents 722b7c305319
children 6cf4fdaa93f9 eec88a166251
line wrap: on
line diff
--- a/schema/gemma.sql	Tue Mar 31 15:30:23 2020 +0200
+++ b/schema/gemma.sql	Tue Mar 31 18:59:28 2020 +0200
@@ -726,14 +726,20 @@
         min_depth smallint NOT NULL,
         date_info timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
         source_organization varchar NOT NULL,
-        staging_done boolean NOT NULL DEFAULT false
+        staging_done boolean NOT NULL DEFAULT false,
+        validity tstzrange NOT NULL DEFAULT tstzrange(current_timestamp, NULL)
+            CHECK (NOT isempty(validity))
     )
     CREATE TRIGGER fairway_dimensions_date_info
         BEFORE UPDATE ON fairway_dimensions
         FOR EACH ROW EXECUTE PROCEDURE update_date_info()
     CREATE CONSTRAINT TRIGGER fairway_dimensions_area_unique
-        AFTER INSERT OR UPDATE OF area, staging_done ON fairway_dimensions
-        FOR EACH ROW EXECUTE FUNCTION prevent_st_equals('area', 'staging_done')
+        AFTER INSERT OR UPDATE OF area, validity, staging_done
+        ON fairway_dimensions
+        FOR EACH ROW EXECUTE FUNCTION prevent_st_equals(
+            'area', 'validity WITH &&', 'staging_done')
+    CREATE INDEX fairway_dimensions_validity
+        ON fairway_dimensions USING GiST (validity)
 
     --
     -- Bottlenecks