New columns in the table 'log_adv_daemon_email': size, pri, relay,
[gnucomo.git] / src / gcm_daemon / classes / gnucomo_db_version.php
index dccdfef..f28e62c 100644 (file)
@@ -236,9 +236,104 @@ case 26:
 case 27: 
        $local_sql = "INSERT INTO db_value VALUES ('last_notification', '0')";
        $dbms->query($local_sql);
-       
-/*    
-     //These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN
+
+case 28:
+       $dbms->query("CREATE GROUP view");
+       $dbms->query("CREATE GROUP ops");
+       $dbms->query("CREATE GROUP admin");
+
+       $dbms->query("GRANT SELECT ON action TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON action_user TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON db_value TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON history TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter_notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON priority TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON property TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON service TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON status TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON supported_os TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON type_of_issue TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON usr TO GROUP view, GROUP ops, GROUP admin");
+       
+       $dbms->query("GRANT INSERT ON action_user TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT UPDATE ON notification TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT INSERT ON object TO GROUP admin");
+       $dbms->query("GRANT UPDATE ON object TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT DELETE ON object TO GROUP admin");
+       $dbms->query("GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT INSERT ON usr TO GROUP admin");
+       $dbms->query("GRANT DELETE ON usr TO GROUP admin");
+
+case 29:
+     $local_sql = "INSERT INTO action (actionname, description) VALUES ('Redisplayed to user', "
+      . "'The notification has been presented to a user. This is not the first time')";
+     $dbms->query ($local_sql);
+
+case 30:
+    $local_sql = "INSERT INTO action (actionname, description) VALUES ('Displayed in list', "
+     . "'The notification has been presented in a list with other notifications.')";
+    $dbms->query ($local_sql);
+
+case 31:
+     $local_sql  = "CREATE TABLE log_adv_daemon_email (";
+     $local_sql .= "source_ip INET, destination_ip INET, internal_messageid TEXT, ";
+     $local_sql .= "external_messageid TEXT, to_email TEXT, from_email TEXT, delay TIME, xdelay TIME, ";
+     $local_sql .= "mailer TEXT, status TEXT, pid INT";
+     $local_sql .= ") INHERITS (log_adv_daemon)";
+     $dbms->query($local_sql);
+
+case 32:
+     $local_sql = "CREATE INDEX log_adv_daemon_email_s_ip ON log_adv_daemon_email (source_ip)";
+     $dbms->query($local_sql);
+
+     $local_sql = "CREATE INDEX log_adv_daemon_email_d_ip ON log_adv_daemon_email (destination_ip)";
+     $dbms->query($local_sql);
+
+     $local_sql = "CREATE INDEX log_adv_daemon_email_to   ON log_adv_daemon_email (to_email)";
+     $dbms->query($local_sql);
+
+     $local_sql = "CREATE INDEX log_adv_daemon_email_from ON log_adv_daemon_email (from_email)";
+     $dbms->query($local_sql);
+
+
+case 33:
+     $local_sql = "ALTER TABLE log_adv_daemon_email ADD COLUMN size INT";
+     $dbms->query($local_sql);
+
+case 34:
+     $local_sql = "ALTER TABLE log_adv_daemon_email ADD COLUMN pri INT";
+     $dbms->query($local_sql);
+
+     $local_sql = "ALTER TABLE log_adv_daemon_email ADD COLUMN relay TEXT";
+     $dbms->query($local_sql);
+
+     $local_sql = "ALTER TABLE log_adv_daemon_email ADD COLUMN status_details TEXT";
+     $dbms->query($local_sql);
+
+     $local_sql = "CREATE INDEX log_adv_email_status ON log_adv_daemon_email (status)";
+     $dbms->query($local_sql);
+              
+case 35:
+     $local_sql = "ALTER TABLE log_adv_daemon_email ADD COLUMN dsn TEXT";
+     $dbms->query($local_sql);
+         
+
+//These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN
+/*
+                         
      $local_sql = "ALTER TABLE log DROP COLUMN recognized";
      $dbms->query($local_sql);