From 336f32bee072056653f3c0228c86d8426700e03e Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 17 Oct 2022 18:12:34 +0200 Subject: [PATCH] issues: removed unnecessary unique constraint on fehlercode and fehler_kurzbz, added NOT NULL constraint on fehler_kurzbz together with fehlercode_extern --- system/dbupdate_3.3.php | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index a1c7cfe1a..28ba9de0b 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -6783,6 +6783,57 @@ if (!$result = @$db->db_query("SELECT aktiv FROM bis.tbl_zgvdoktor LIMIT 1")) echo '
Spalte aktiv zu bis.tbl_zgvdoktor hinzugefügt'; } +// Remove UNIQUE constraint on fehlercode and fehler_kurzbz on system.tbl_fehler +if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'uk_tbl_fehler_fehlercode_fehler_kurzbz'")) +{ + if ($db->db_num_rows($result) > 0) + { + $qry = "ALTER TABLE system.tbl_fehler DROP CONSTRAINT uk_tbl_fehler_fehlercode_fehler_kurzbz;"; + + if (!$db->db_query($qry)) + echo 'system.tbl_fehler '.$db->db_last_error().'
'; + else + echo '
Removed UNIQUE constraint on "fehlercode" and "fehler_kurzbz" from system.tbl_fehler
'; + } +} + +// Add NOT NULL constraint on fehler_kurzbz and fehlercode_extern on system.tbl_fehler +if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'chk_tbl_fehler_fehler_kurzbz_fehlercode_extern'")) +{ + if ($db->db_num_rows($result) == 0) + { + $hasError = false; + $qry = "SELECT 1 FROM system.tbl_fehler WHERE fehler_kurzbz IS NULL AND fehlercode_extern IS NULL AND fehlercode = 'UNKNOWN_ERROR'"; + + $result = $db->db_query($qry); + if ($db->db_num_rows($result)>0) + { + // Add fehler_kurzbz TO UNKNOWN_ERROR to satisfy constraint + $qry = "UPDATE system.tbl_fehler SET fehler_kurzbz='unbekannterCoreFehler' WHERE fehlercode = 'UNKNOWN_ERROR';"; + + if(!$db->db_query($qry)) + { + echo 'system.tbl_fehler '.$db->db_last_error().'
'; + $hasError = true; + } + else + { + echo '
Add fehler_kurzbz to UNKNOWN_ERROR in system.tbl_fehler'; + } + } + + if (!$hasError) + { + $qry = "ALTER TABLE system.tbl_fehler ADD CONSTRAINT chk_tbl_fehler_fehler_kurzbz_fehlercode_extern CHECK (fehler_kurzbz IS NOT NULL OR fehlercode_extern IS NOT NULL);"; + + if (!$db->db_query($qry)) + echo 'system.tbl_fehler '.$db->db_last_error().'
'; + else + echo '
Added NOT NULL constraint on "fehlercode" and "fehler_kurzbz" from system.tbl_fehler
'; + } + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

';