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

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

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

diff --git a/schema/pgsql-migrations/upgrade_144.sql b/schema/pgsql-migrations/upgrade_144.sql
new file mode 100644
index 0000000..4516f5e
--- /dev/null
+++ b/schema/pgsql-migrations/upgrade_144.sql
@@ -0,0 +1,99 @@
+CREATE TABLE icinga_dependency (
+  id serial,
+  object_name character varying(255) NOT NULL,
+  object_type enum_object_type_all NOT NULL,
+  disabled enum_boolean DEFAULT 'n',
+  apply_to enum_host_service NULL DEFAULT NULL,
+  parent_host_id integer DEFAULT NULL,
+  parent_service_id integer DEFAULT NULL,
+  child_host_id integer DEFAULT NULL,
+  child_service_id integer DEFAULT NULL,
+  disable_checks enum_boolean DEFAULT NULL,
+  disable_notifications enum_boolean DEFAULT NULL,
+  ignore_soft_states enum_boolean DEFAULT NULL,
+  period_id integer DEFAULT NULL,
+  zone_id integer DEFAULT NULL,
+  assign_filter text DEFAULT NULL,
+  parent_service_by_name character varying(255),
+  PRIMARY KEY (id),
+  CONSTRAINT icinga_dependency_parent_host
+    FOREIGN KEY (parent_host_id)
+    REFERENCES icinga_host (id)
+    ON DELETE RESTRICT
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_dependency_parent_service
+    FOREIGN KEY (parent_service_id)
+    REFERENCES icinga_service (id)
+    ON DELETE RESTRICT
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_dependency_child_host
+    FOREIGN KEY (child_host_id)
+    REFERENCES icinga_host (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_dependency_child_service
+    FOREIGN KEY (child_service_id)
+    REFERENCES icinga_service (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_dependency_period
+    FOREIGN KEY (period_id)
+    REFERENCES icinga_timeperiod (id)
+    ON DELETE RESTRICT
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_dependency_zone
+    FOREIGN KEY (zone_id)
+    REFERENCES icinga_zone (id)
+    ON DELETE RESTRICT
+    ON UPDATE CASCADE
+);
+
+CREATE INDEX dependency_parent_host ON icinga_dependency (parent_host_id);
+CREATE INDEX dependency_parent_service ON icinga_dependency (parent_service_id);
+CREATE INDEX dependency_child_host ON icinga_dependency (child_host_id);
+CREATE INDEX dependency_child_service ON icinga_dependency (child_service_id);
+CREATE INDEX dependency_period ON icinga_dependency (period_id);
+CREATE INDEX dependency_zone ON icinga_dependency (zone_id);
+
+
+CREATE TABLE icinga_dependency_inheritance (
+  dependency_id integer NOT NULL,
+  parent_dependency_id integer NOT NULL,
+  weight integer DEFAULT NULL,
+  PRIMARY KEY (dependency_id, parent_dependency_id),
+  CONSTRAINT icinga_dependency_inheritance_dependency
+    FOREIGN KEY (dependency_id)
+    REFERENCES icinga_dependency (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE,
+  CONSTRAINT icinga_dependency_inheritance_parent_dependency
+    FOREIGN KEY (parent_dependency_id)
+    REFERENCES icinga_dependency (id)
+    ON DELETE RESTRICT
+    ON UPDATE CASCADE
+);
+
+CREATE UNIQUE INDEX dependency_inheritance_unique_order ON icinga_dependency_inheritance (dependency_id, weight);
+CREATE INDEX dependency_inheritance_dependency ON icinga_dependency_inheritance (dependency_id);
+CREATE INDEX dependency_inheritance_dependency_parent ON icinga_dependency_inheritance (parent_dependency_id);
+
+
+CREATE TABLE icinga_dependency_states_set (
+  dependency_id integer NOT NULL,
+  property enum_state_name NOT NULL,
+  merge_behaviour enum_set_merge_behaviour NOT NULL DEFAULT 'override',
+  PRIMARY KEY (dependency_id, property, merge_behaviour),
+  CONSTRAINT icinga_dependency_states_set_dependency
+    FOREIGN KEY (dependency_id)
+    REFERENCES icinga_dependency (id)
+    ON DELETE CASCADE
+    ON UPDATE CASCADE
+);
+
+CREATE INDEX dependency_states_set_dependency ON icinga_dependency_states_set (dependency_id);
+COMMENT ON COLUMN icinga_dependency_states_set.merge_behaviour IS 'override: = [], extend: += [], blacklist: -= []';
+
+
+INSERT INTO director_schema_migration
+  (schema_version, migration_time)
+  VALUES (144, NOW());
-- 
cgit v1.2.3

