From cd989f9c3aff968e19a3aeabc4eb9085787a6673 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 28 Apr 2024 14:43:12 +0200
Subject: Adding upstream version 1.10.2.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 schema/pgsql-migrations/upgrade_77.sql | 72 ++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 schema/pgsql-migrations/upgrade_77.sql

(limited to 'schema/pgsql-migrations/upgrade_77.sql')

diff --git a/schema/pgsql-migrations/upgrade_77.sql b/schema/pgsql-migrations/upgrade_77.sql
new file mode 100644
index 0000000..de10121
--- /dev/null
+++ b/schema/pgsql-migrations/upgrade_77.sql
@@ -0,0 +1,72 @@
+ALTER TYPE enum_merge_behaviour ADD VALUE 'override';
+
+
+CREATE TABLE icinga_notification_states_set (
+  notification_id integer NOT NULL,
+  property enum_state_name NOT NULL,
+  merge_behaviour enum_merge_behaviour NOT NULL DEFAULT 'override',
+  PRIMARY KEY (notification_id, property, merge_behaviour),
+  CONSTRAINT icinga_notification_states_set_notification
+    FOREIGN KEY (notification_id)
+    REFERENCES icinga_notification (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE
+);
+
+COMMENT ON COLUMN icinga_notification_states_set.merge_behaviour IS 'override: = [], extend: += [], blacklist: -= []';
+
+
+CREATE TABLE icinga_notification_types_set (
+  notification_id integer NOT NULL,
+  property enum_type_name NOT NULL,
+  merge_behaviour enum_merge_behaviour NOT NULL DEFAULT 'override',
+  PRIMARY KEY (notification_id, property, merge_behaviour),
+  CONSTRAINT icinga_notification_types_set_notification
+    FOREIGN KEY (notification_id)
+    REFERENCES icinga_notification (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE
+);
+
+COMMENT ON COLUMN icinga_notification_types_set.merge_behaviour IS 'override: = [], extend: += [], blacklist: -= []';
+
+
+CREATE TABLE icinga_notification_var (
+  notification_id integer NOT NULL,
+  varname VARCHAR(255) DEFAULT NULL,
+  varvalue TEXT DEFAULT NULL,
+  format enum_property_format,
+  PRIMARY KEY (notification_id, varname),
+  CONSTRAINT icinga_notification_var_notification
+    FOREIGN KEY (notification_id)
+    REFERENCES icinga_notification (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE
+);
+
+CREATE UNIQUE INDEX notification_var_search_idx ON icinga_notification_var (varname);
+
+
+CREATE TABLE icinga_notification_inheritance (
+  notification_id integer NOT NULL,
+  parent_notification_id integer NOT NULL,
+  weight integer DEFAULT NULL,
+  PRIMARY KEY (notification_id, parent_notification_id),
+  CONSTRAINT icinga_notification_inheritance_notification
+  FOREIGN KEY (notification_id)
+  REFERENCES icinga_notification (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_notification_inheritance_parent_notification
+  FOREIGN KEY (parent_notification_id)
+  REFERENCES icinga_notification (id)
+    ON DELETE RESTRICT
+    ON UPDATE CASCADE
+);
+
+CREATE UNIQUE INDEX notification_inheritance ON icinga_notification_inheritance (notification_id, weight);
+
+
+INSERT INTO director_schema_migration
+  (schema_version, migration_time)
+  VALUES (77, NOW());
-- 
cgit v1.2.3

