]> git.pld-linux.org Git - packages/cacti-plugin-npc.git/commitdiff
upgrade ndoutils schema to 1.5.2
authorElan Ruusamäe <glen@delfi.ee>
Sun, 25 Nov 2012 21:50:23 +0000 (23:50 +0200)
committerElan Ruusamäe <glen@delfi.ee>
Sun, 25 Nov 2012 21:50:23 +0000 (23:50 +0200)
cacti-plugin-npc.spec
ndoutils-1.5.patch [new file with mode: 0644]

index 5979e7fd1240a07cb00b062f2b7a891c55e9cc05..f9f0c1bdc57089bafc86a5bf281296d0f810c677 100644 (file)
@@ -9,12 +9,13 @@ Summary:      Nagios Plugin for Cacti (NPC)
 Summary(pl.UTF-8):     Wtyczka do Cacti - NPC
 Name:          cacti-plugin-npc
 Version:       2.0.4
-Release:       0.4
+Release:       0.7
 License:       GPL v3
 Group:         Applications/WWW
 #Source0:      http://downloads.sourceforge.net/gibtmirdas/npc-%{version}.tar.gz
 Source0:       npc-%{version}.tar.gz
 Patch0:                %{name}-graphs_url.patch
+Patch1:                ndoutils-1.5.patch
 # Source0-md5: 7b30302c544f10ed73cff406fda14499
 URL:           https://trac.assembla.com/npc/
 BuildRequires: rpmbuild(macros) >= 1.553
@@ -60,9 +61,15 @@ mv %{plugin}/build.xml .
 mv %{plugin}/{README,LICENSE} .
 %undos -f php README
 %patch0 -p1
+%patch1 -p1
 
-# dev code, not needed for production functionality
 cd %{plugin}
+
+# part of ndoutils
+%{__rm} -r queries
+# upgrade_schema.sql - adds indexes to db
+
+# dev code, not needed for production functionality
 %{__rm} controllers/layoutDev.php
 %{__rm} -r js/src
 %{__rm} js/ext/*-debug.js
@@ -95,4 +102,3 @@ rm -rf $RPM_BUILD_ROOT
 %{plugindir}/js
 %{plugindir}/lib
 %{plugindir}/models
-%{plugindir}/queries
diff --git a/ndoutils-1.5.patch b/ndoutils-1.5.patch
new file mode 100644 (file)
index 0000000..6928a85
--- /dev/null
@@ -0,0 +1,2393 @@
+upgrade schema to ndoutils-1.5.2
+
+- took the table structure from /usr/share/ndoutils/mysql.sql
+- merged indexes from npc/upgrade_schema.sql
+- some indexes are still questionable
+- three tables are cacti-only:
+ * npc_service_graphs
+ * npc_host_graphs
+ * npc_settings
+- mysql table type changed (back to) MyISAM
+- latin1 charset enforcing on tables, seems wrong (fix it in ndoutils?)
+
+--- cacti-plugin-npc-2.0.4/npc/setup.php       2012-11-25 16:32:50.264148508 +0200
++++ plugins/npc/setup.php      2012-11-25 23:44:50.785915818 +0200
+@@ -307,1168 +307,1352 @@
+             }
+     }
++
++      // Add some default values
++      $sql[] = "INSERT IGNORE INTO settings VALUES ('npc_date_format','Y-m-d');";
++      $sql[] = "INSERT IGNORE INTO settings VALUES ('npc_time_format','H:i');";
++      $sql[] = "INSERT IGNORE INTO settings VALUES ('npc_log_level','0');";
++
+     if (!in_array('npc_acknowledgements', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_acknowledgements` (
+-                    `acknowledgement_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `entry_time_usec` int(11) NOT NULL default '0',
+-                    `acknowledgement_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `state` smallint(6) NOT NULL default '0',
+-                    `author_name` varchar(64) NOT NULL default '',
+-                    `comment_data` varchar(255) NOT NULL default '',
+-                    `is_sticky` smallint(6) NOT NULL default '0',
+-                    `persistent_comment` smallint(6) NOT NULL default '0',
+-                    `notify_contacts` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`acknowledgement_id`)
+-                 )  ENGINE=InnoDB COMMENT='Current and historical host and service acknowledgements';";
+-
+-        // Add some default values
+-        $sql[] = "INSERT INTO settings VALUES ('npc_date_format','Y-m-d');";
+-        $sql[] = "INSERT INTO settings VALUES ('npc_time_format','H:i');";
+-        $sql[] = "INSERT INTO settings VALUES ('npc_log_level','0');";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npcacknowledgements` (
++                        `acknowledgement_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `entry_time_usec` int(11) NOT NULL default '0',
++                        `acknowledgement_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `state` smallint(6) NOT NULL default '0',
++                        `author_name` varchar(64) character set latin1 NOT NULL default '',
++                        `comment_data` varchar(255) character set latin1 NOT NULL default '',
++                        `is_sticky` smallint(6) NOT NULL default '0',
++                        `persistent_comment` smallint(6) NOT NULL default '0',
++                        `notify_contacts` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`acknowledgement_id`)
++                      ) ENGINE=MyISAM COMMENT='Current and historical host and service acknowledgements';
++              ";
+     }
+     if (!in_array('npc_commands', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_commands` (
+-                    `command_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `command_line` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`command_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`config_type`)
+-                  ) ENGINE=InnoDB COMMENT='Command definitions';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_commands` (
++                        `command_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `command_line` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`command_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`config_type`)
++                      ) ENGINE=MyISAM  COMMENT='Command definitions';
++              ";
+     }
+     if (!in_array('npc_commenthistory', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_commenthistory` (
+-                    `commenthistory_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `entry_time_usec` int(11) NOT NULL default '0',
+-                    `comment_type` smallint(6) NOT NULL default '0',
+-                    `entry_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `internal_comment_id` int(11) NOT NULL default '0',
+-                    `author_name` varchar(64) NOT NULL default '',
+-                    `comment_data` varchar(255) NOT NULL default '',
+-                    `is_persistent` smallint(6) NOT NULL default '0',
+-                    `comment_source` smallint(6) NOT NULL default '0',
+-                    `expires` smallint(6) NOT NULL default '0',
+-                    `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `deletion_time_usec` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`commenthistory_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`),
+-                    KEY `idx_internal_comment_id` (`internal_comment_id`)
+-                  ) ENGINE=InnoDB COMMENT='Historical host and service comments';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_commenthistory` (
++                        `commenthistory_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `entry_time_usec` int(11) NOT NULL default '0',
++                        `comment_type` smallint(6) NOT NULL default '0',
++                        `entry_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `internal_comment_id` int(11) NOT NULL default '0',
++                        `author_name` varchar(64) character set latin1 NOT NULL default '',
++                        `comment_data` varchar(255) character set latin1 NOT NULL default '',
++                        `is_persistent` smallint(6) NOT NULL default '0',
++                        `comment_source` smallint(6) NOT NULL default '0',
++                        `expires` smallint(6) NOT NULL default '0',
++                        `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `deletion_time_usec` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`commenthistory_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`)
++                      ) ENGINE=MyISAM  COMMENT='Historical host and service comments';
++              ";
+     }
+     if (!in_array('npc_comments', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_comments` (
+-                    `comment_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `entry_time_usec` int(11) NOT NULL default '0',
+-                    `comment_type` smallint(6) NOT NULL default '0',
+-                    `entry_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `internal_comment_id` int(11) NOT NULL default '0',
+-                    `author_name` varchar(64) NOT NULL default '',
+-                    `comment_data` varchar(255) NOT NULL default '',
+-                    `is_persistent` smallint(6) NOT NULL default '0',
+-                    `comment_source` smallint(6) NOT NULL default '0',
+-                    `expires` smallint(6) NOT NULL default '0',
+-                    `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    PRIMARY KEY  (`comment_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`),
+-                    KEY `idx1` (`object_id`)
+-                  ) ENGINE=InnoDB;";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_comments` (
++                        `comment_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `entry_time_usec` int(11) NOT NULL default '0',
++                        `comment_type` smallint(6) NOT NULL default '0',
++                        `entry_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `internal_comment_id` int(11) NOT NULL default '0',
++                        `author_name` varchar(64) character set latin1 NOT NULL default '',
++                        `comment_data` varchar(255) character set latin1 NOT NULL default '',
++                        `is_persistent` smallint(6) NOT NULL default '0',
++                        `comment_source` smallint(6) NOT NULL default '0',
++                        `expires` smallint(6) NOT NULL default '0',
++                        `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        PRIMARY KEY  (`comment_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`)
++                      ) ENGINE=MyISAM ;
++              ";
++              $sql[] = "CREATE INDEX idx1 ON npc_comments(object_id);";
+     }
+     if (!in_array('npc_configfiles', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_configfiles` (
+-                    `configfile_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `configfile_type` smallint(6) NOT NULL default '0',
+-                    `configfile_path` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`configfile_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`configfile_type`,`configfile_path`)
+-                  ) ENGINE=InnoDB COMMENT='Configuration files';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `nagios_configfiles` (
++                        `configfile_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `configfile_type` smallint(6) NOT NULL default '0',
++                        `configfile_path` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`configfile_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`configfile_type`,`configfile_path`)
++                      ) ENGINE=MyISAM  COMMENT='Configuration files';
++              ";
+     }
+     if (!in_array('npc_configfilevariables', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_configfilevariables` (
+-                    `configfilevariable_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `configfile_id` int(11) NOT NULL default '0',
+-                    `varname` varchar(64) NOT NULL default '',
+-                    `varvalue` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`configfilevariable_id`),
+-                    KEY `instance_id` (`instance_id`,`configfile_id`)
+-                  ) ENGINE=InnoDB COMMENT='Configuration file variables';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `nagios_configfilevariables` (
++                        `configfilevariable_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `configfile_id` int(11) NOT NULL default '0',
++                        `varname` varchar(64) character set latin1 NOT NULL default '',
++                        `varvalue` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`configfilevariable_id`)
++                      ) ENGINE=MyISAM  COMMENT='Configuration file variables';
++              ";
++              // TODO? $sql[] = "KEY `instance_id` (`instance_id`,`configfile_id`";
+     }
+     if (!in_array('npc_conninfo', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_conninfo` (
+-                    `conninfo_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `agent_name` varchar(32) NOT NULL default '',
+-                    `agent_version` varchar(8) NOT NULL default '',
+-                    `disposition` varchar(16) NOT NULL default '',
+-                    `connect_source` varchar(16) NOT NULL default '',
+-                    `connect_type` varchar(16) NOT NULL default '',
+-                    `connect_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `disconnect_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_checkin_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `data_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `data_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `bytes_processed` int(11) NOT NULL default '0',
+-                    `lines_processed` int(11) NOT NULL default '0',
+-                    `entries_processed` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`conninfo_id`)
+-                  ) ENGINE=InnoDB COMMENT='NDO2DB daemon connection information';";
++              $sql[] = "
++
++                      CREATE TABLE IF NOT EXISTS `nagios_conninfo` (
++                        `conninfo_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `agent_name` varchar(32) character set latin1 NOT NULL default '',
++                        `agent_version` varchar(8) character set latin1 NOT NULL default '',
++                        `disposition` varchar(16) character set latin1 NOT NULL default '',
++                        `connect_source` varchar(16) character set latin1 NOT NULL default '',
++                        `connect_type` varchar(16) character set latin1 NOT NULL default '',
++                        `connect_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `disconnect_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_checkin_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `data_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `data_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `bytes_processed` int(11) NOT NULL default '0',
++                        `lines_processed` int(11) NOT NULL default '0',
++                        `entries_processed` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`conninfo_id`)
++                      ) ENGINE=MyISAM  COMMENT='NDO2DB daemon connection information';
++              ";
+     }
+     if (!in_array('npc_contact_addresses', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contact_addresses` (
+-                    `contact_address_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `contact_id` int(11) NOT NULL default '0',
+-                    `address_number` smallint(6) NOT NULL default '0',
+-                    `address` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`contact_address_id`),
+-                    UNIQUE KEY `contact_id` (`contact_id`,`address_number`)
+-                  ) ENGINE=InnoDB COMMENT='Contact addresses';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contact_addresses` (
++                        `contact_address_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `contact_id` int(11) NOT NULL default '0',
++                        `address_number` smallint(6) NOT NULL default '0',
++                        `address` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`contact_address_id`),
++                        UNIQUE KEY `contact_id` (`contact_id`,`address_number`)
++                      ) ENGINE=MyISAM COMMENT='Contact addresses';
++              ";
+     }
+     if (!in_array('npc_contact_notificationcommands', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contact_notificationcommands` (
+-                    `contact_notificationcommand_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `contact_id` int(11) NOT NULL default '0',
+-                    `notification_type` smallint(6) NOT NULL default '0',
+-                    `command_object_id` int(11) NOT NULL default '0',
+-                    `command_args` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`contact_notificationcommand_id`),
+-                    UNIQUE KEY `contact_id` (`contact_id`,`notification_type`,`command_object_id`,`command_args`)
+-                  ) ENGINE=InnoDB COMMENT='Contact host and service notification commands';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contact_notificationcommands` (
++                        `contact_notificationcommand_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `contact_id` int(11) NOT NULL default '0',
++                        `notification_type` smallint(6) NOT NULL default '0',
++                        `command_object_id` int(11) NOT NULL default '0',
++                        `command_args` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`contact_notificationcommand_id`),
++                        UNIQUE KEY `contact_id` (`contact_id`,`notification_type`,`command_object_id`,`command_args`)
++                      ) ENGINE=MyISAM  COMMENT='Contact host and service notification commands';
++              ";
+     }
+     if (!in_array('npc_contactgroup_members', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contactgroup_members` (
+-                    `contactgroup_member_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `contactgroup_id` int(11) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`contactgroup_member_id`),
+-                    UNIQUE KEY `instance_id` (`contactgroup_id`,`contact_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Contactgroup members';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contactgroup_members` (
++                        `contactgroup_member_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `contactgroup_id` int(11) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`contactgroup_member_id`),
++                        UNIQUE KEY `instance_id` (`contactgroup_id`,`contact_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Contactgroup members';
++              ";
+     }
+     if (!in_array('npc_contactgroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contactgroups` (
+-                    `contactgroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `contactgroup_object_id` int(11) NOT NULL default '0',
+-                    `alias` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`contactgroup_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contactgroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Contactgroup definitions';";
++              $sql[] = "
++
++                      CREATE TABLE IF NOT EXISTS `npc_contactgroups` (
++                        `contactgroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `contactgroup_object_id` int(11) NOT NULL default '0',
++                        `alias` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`contactgroup_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contactgroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Contactgroup definitions';
++              ";
+     }
+     if (!in_array('npc_contactnotificationmethods', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contactnotificationmethods` (
+-                    `contactnotificationmethod_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `contactnotification_id` int(11) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    `command_object_id` int(11) NOT NULL default '0',
+-                    `command_args` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`contactnotificationmethod_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`contactnotification_id`,`start_time`,`start_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical record of contact notification methods';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contactnotificationmethods` (
++                        `contactnotificationmethod_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `contactnotification_id` int(11) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        `command_object_id` int(11) NOT NULL default '0',
++                        `command_args` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`contactnotificationmethod_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`contactnotification_id`,`start_time`,`start_time_usec`)
++                      ) ENGINE=MyISAM  COMMENT='Historical record of contact notification methods';
++              ";
+     }
+     if (!in_array('npc_contactnotifications', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contactnotifications` (
+-                    `contactnotification_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `notification_id` int(11) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`contactnotification_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`contact_object_id`,`start_time`,`start_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical record of contact notifications';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contactnotifications` (
++                        `contactnotification_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `notification_id` int(11) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`contactnotification_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`contact_object_id`,`start_time`,`start_time_usec`)
++                      ) ENGINE=MyISAM  COMMENT='Historical record of contact notifications';
++              ";
+     }
+     if (!in_array('npc_contacts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contacts` (
+-                    `contact_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    `alias` varchar(64) NOT NULL default '',
+-                    `email_address` varchar(255) NOT NULL default '',
+-                    `pager_address` varchar(64) NOT NULL default '',
+-                    `host_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `service_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `host_notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `service_notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `can_submit_commands` smallint(6) NOT NULL default '0',
+-                    `notify_service_recovery` smallint(6) NOT NULL default '0',
+-                    `notify_service_warning` smallint(6) NOT NULL default '0',
+-                    `notify_service_unknown` smallint(6) NOT NULL default '0',
+-                    `notify_service_critical` smallint(6) NOT NULL default '0',
+-                    `notify_service_flapping` smallint(6) NOT NULL default '0',
+-                    `notify_service_downtime` smallint(6) NOT NULL default '0',
+-                    `notify_host_recovery` smallint(6) NOT NULL default '0',
+-                    `notify_host_down` smallint(6) NOT NULL default '0',
+-                    `notify_host_unreachable` smallint(6) NOT NULL default '0',
+-                    `notify_host_flapping` smallint(6) NOT NULL default '0',
+-                    `notify_host_downtime` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`contact_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contact_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Contact definitions';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contacts` (
++                        `contact_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        `alias` varchar(64) character set latin1 NOT NULL default '',
++                        `email_address` varchar(255) character set latin1 NOT NULL default '',
++                        `pager_address` varchar(64) character set latin1 NOT NULL default '',
++                        `host_timeperiod_object_id` int(11) NOT NULL default '0',
++                        `service_timeperiod_object_id` int(11) NOT NULL default '0',
++                        `host_notifications_enabled` smallint(6) NOT NULL default '0',
++                        `service_notifications_enabled` smallint(6) NOT NULL default '0',
++                        `can_submit_commands` smallint(6) NOT NULL default '0',
++                        `notify_service_recovery` smallint(6) NOT NULL default '0',
++                        `notify_service_warning` smallint(6) NOT NULL default '0',
++                        `notify_service_unknown` smallint(6) NOT NULL default '0',
++                        `notify_service_critical` smallint(6) NOT NULL default '0',
++                        `notify_service_flapping` smallint(6) NOT NULL default '0',
++                        `notify_service_downtime` smallint(6) NOT NULL default '0',
++                        `notify_host_recovery` smallint(6) NOT NULL default '0',
++                        `notify_host_down` smallint(6) NOT NULL default '0',
++                        `notify_host_unreachable` smallint(6) NOT NULL default '0',
++                        `notify_host_flapping` smallint(6) NOT NULL default '0',
++                        `notify_host_downtime` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`contact_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contact_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Contact definitions';
++              ";
+     }
+     if (!in_array('npc_contactstatus', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_contactstatus` (
+-                    `contactstatus_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `host_notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `service_notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `last_host_notification` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_service_notification` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `modified_attributes` int(11) NOT NULL default '0',
+-                    `modified_host_attributes` int(11) NOT NULL default '0',
+-                    `modified_service_attributes` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`contactstatus_id`),
+-                    UNIQUE KEY `contact_object_id` (`contact_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Contact status';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_contactstatus` (
++                        `contactstatus_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `host_notifications_enabled` smallint(6) NOT NULL default '0',
++                        `service_notifications_enabled` smallint(6) NOT NULL default '0',
++                        `last_host_notification` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_service_notification` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `modified_attributes` int(11) NOT NULL default '0',
++                        `modified_host_attributes` int(11) NOT NULL default '0',
++                        `modified_service_attributes` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`contactstatus_id`),
++                        UNIQUE KEY `contact_object_id` (`contact_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Contact status';
++              ";
+     }
+     if (!in_array('npc_customvariables', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_customvariables` (
+-                    `customvariable_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `has_been_modified` smallint(6) NOT NULL default '0',
+-                    `varname` varchar(255) NOT NULL default '',
+-                    `varvalue` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`customvariable_id`),
+-                    UNIQUE KEY `object_id_2` (`object_id`,`config_type`,`varname`),
+-                    KEY `varname` (`varname`)
+-                  ) ENGINE=InnoDB COMMENT='Custom variables';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_customvariables` (
++                        `customvariable_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `has_been_modified` smallint(6) NOT NULL default '0',
++                        `varname` varchar(255) character set latin1 NOT NULL default '',
++                        `varvalue` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`customvariable_id`),
++                        UNIQUE KEY `object_id_2` (`object_id`,`config_type`,`varname`),
++                        KEY `varname` (`varname`)
++                      ) ENGINE=MyISAM COMMENT='Custom variables';
++              ";
+     }
+     if (!in_array('npc_customvariablestatus', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_customvariablestatus` (
+-                    `customvariablestatus_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `has_been_modified` smallint(6) NOT NULL default '0',
+-                    `varname` varchar(255) NOT NULL default '',
+-                    `varvalue` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`customvariablestatus_id`),
+-                    UNIQUE KEY `object_id_2` (`object_id`,`varname`),
+-                    KEY `varname` (`varname`)
+-                  ) ENGINE=InnoDB COMMENT='Custom variable status information';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_customvariablestatus` (
++                        `customvariablestatus_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `has_been_modified` smallint(6) NOT NULL default '0',
++                        `varname` varchar(255) character set latin1 NOT NULL default '',
++                        `varvalue` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`customvariablestatus_id`),
++                        UNIQUE KEY `object_id_2` (`object_id`,`varname`),
++                        KEY `varname` (`varname`)
++                      ) ENGINE=MyISAM COMMENT='Custom variable status information';
++              ";
+     }
+     if (!in_array('npc_dbversion', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_dbversion` (
+-                    `name` varchar(10) NOT NULL default '',
+-                    `version` varchar(10) NOT NULL default ''
+-                  ) ENGINE=InnoDB;";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_dbversion` (
++                        `name` varchar(10) character set latin1 NOT NULL default '',
++                        `version` varchar(10) character set latin1 NOT NULL default ''
++                      ) ENGINE=MyISAM;
++              ";
+     }
+     if (!in_array('npc_downtimehistory', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_downtimehistory` (
+-                    `downtimehistory_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `downtime_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `author_name` varchar(64) NOT NULL default '',
+-                    `comment_data` varchar(255) NOT NULL default '',
+-                    `internal_downtime_id` int(11) NOT NULL default '0',
+-                    `triggered_by_id` int(11) NOT NULL default '0',
+-                    `is_fixed` smallint(6) NOT NULL default '0',
+-                    `duration` smallint(6) NOT NULL default '0',
+-                    `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `was_started` smallint(6) NOT NULL default '0',
+-                    `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `actual_start_time_usec` int(11) NOT NULL default '0',
+-                    `actual_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `actual_end_time_usec` int(11) NOT NULL default '0',
+-                    `was_cancelled` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`downtimehistory_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
+-                  ) ENGINE=InnoDB COMMENT='Historical scheduled host and service downtime';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_downtimehistory` (
++                        `downtimehistory_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `downtime_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `author_name` varchar(64) character set latin1 NOT NULL default '',
++                        `comment_data` varchar(255) character set latin1 NOT NULL default '',
++                        `internal_downtime_id` int(11) NOT NULL default '0',
++                        `triggered_by_id` int(11) NOT NULL default '0',
++                        `is_fixed` smallint(6) NOT NULL default '0',
++                        `duration` smallint(6) NOT NULL default '0',
++                        `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `was_started` smallint(6) NOT NULL default '0',
++                        `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `actual_start_time_usec` int(11) NOT NULL default '0',
++                        `actual_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `actual_end_time_usec` int(11) NOT NULL default '0',
++                        `was_cancelled` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`downtimehistory_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
++                      ) ENGINE=MyISAM  COMMENT='Historical scheduled host and service downtime';
++              ";
+     }
+     if (!in_array('npc_eventhandlers', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_eventhandlers` (
+-                    `eventhandler_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `eventhandler_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `state` smallint(6) NOT NULL default '0',
+-                    `state_type` smallint(6) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    `command_object_id` int(11) NOT NULL default '0',
+-                    `command_args` varchar(255) NOT NULL default '',
+-                    `command_line` varchar(255) NOT NULL default '',
+-                    `timeout` smallint(6) NOT NULL default '0',
+-                    `early_timeout` smallint(6) NOT NULL default '0',
+-                    `execution_time` double NOT NULL default '0',
+-                    `return_code` smallint(6) NOT NULL default '0',
+-                    `output` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`eventhandler_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical host and service event handlers';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_eventhandlers` (
++                        `eventhandler_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `eventhandler_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `state` smallint(6) NOT NULL default '0',
++                        `state_type` smallint(6) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        `command_object_id` int(11) NOT NULL default '0',
++                        `command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `command_line` varchar(255) character set latin1 NOT NULL default '',
++                        `timeout` smallint(6) NOT NULL default '0',
++                        `early_timeout` smallint(6) NOT NULL default '0',
++                        `execution_time` double NOT NULL default '0',
++                        `return_code` smallint(6) NOT NULL default '0',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        PRIMARY KEY  (`eventhandler_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
++                      ) ENGINE=MyISAM COMMENT='Historical host and service event handlers';
++              ";
+     }
+     if (!in_array('npc_externalcommands', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_externalcommands` (
+-                    `externalcommand_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `command_type` smallint(6) NOT NULL default '0',
+-                    `command_name` varchar(128) NOT NULL default '',
+-                    `command_args` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`externalcommand_id`)
+-                  ) ENGINE=InnoDB COMMENT='Historical record of processed external commands';";
++              $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_externalcommands` (
++                        `externalcommand_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `command_type` smallint(6) NOT NULL default '0',
++                        `command_name` varchar(128) character set latin1 NOT NULL default '',
++                        `command_args` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`externalcommand_id`)
++                      ) ENGINE=MyISAM  COMMENT='Historical record of processed external commands';
++              ";
+     }
+     if (!in_array('npc_flappinghistory', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_flappinghistory` (
+-                    `flappinghistory_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `event_time_usec` int(11) NOT NULL default '0',
+-                    `event_type` smallint(6) NOT NULL default '0',
+-                    `reason_type` smallint(6) NOT NULL default '0',
+-                    `flapping_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `percent_state_change` double NOT NULL default '0',
+-                    `low_threshold` double NOT NULL default '0',
+-                    `high_threshold` double NOT NULL default '0',
+-                    `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `internal_comment_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`flappinghistory_id`)
+-                  ) ENGINE=InnoDB COMMENT='Current and historical record of host and service flapping';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_flappinghistory` (
++                        `flappinghistory_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `event_time_usec` int(11) NOT NULL default '0',
++                        `event_type` smallint(6) NOT NULL default '0',
++                        `reason_type` smallint(6) NOT NULL default '0',
++                        `flapping_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `percent_state_change` double NOT NULL default '0',
++                        `low_threshold` double NOT NULL default '0',
++                        `high_threshold` double NOT NULL default '0',
++                        `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `internal_comment_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`flappinghistory_id`)
++                      ) ENGINE=MyISAM  COMMENT='Current and historical record of host and service flapping';
++              ";
+     }
+     if (!in_array('npc_host_contactgroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_host_contactgroups` (
+-                    `host_contactgroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `host_id` int(11) NOT NULL default '0',
+-                    `contactgroup_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`host_contactgroup_id`),
+-                    UNIQUE KEY `instance_id` (`host_id`,`contactgroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Host contact groups';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_host_contactgroups` (
++                        `host_contactgroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `host_id` int(11) NOT NULL default '0',
++                        `contactgroup_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`host_contactgroup_id`),
++                        UNIQUE KEY `instance_id` (`host_id`,`contactgroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Host contact groups';
++              ";
+     }
+     if (!in_array('npc_host_contacts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_host_contacts` (
+-                    `host_contact_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `host_id` int(11) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`host_contact_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`host_id`,`contact_object_id`)
+-                  ) ENGINE=InnoDB;";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_host_contacts` (
++                        `host_contact_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `host_id` int(11) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`host_contact_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`host_id`,`contact_object_id`)
++                      ) ENGINE=MyISAM ;
++              ";
+     }
+     if (!in_array('npc_host_parenthosts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_host_parenthosts` (
+-                    `host_parenthost_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `host_id` int(11) NOT NULL default '0',
+-                    `parent_host_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`host_parenthost_id`),
+-                    UNIQUE KEY `instance_id` (`host_id`,`parent_host_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Parent hosts';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_host_parenthosts` (
++                        `host_parenthost_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `host_id` int(11) NOT NULL default '0',
++                        `parent_host_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`host_parenthost_id`),
++                        UNIQUE KEY `instance_id` (`host_id`,`parent_host_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Parent hosts';
++              ";
+     }
+     if (!in_array('npc_hostchecks', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostchecks` (
+-                    `hostcheck_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    `check_type` smallint(6) NOT NULL default '0',
+-                    `is_raw_check` smallint(6) NOT NULL default '0',
+-                    `current_check_attempt` smallint(6) NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `state` smallint(6) NOT NULL default '0',
+-                    `state_type` smallint(6) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    `command_object_id` int(11) NOT NULL default '0',
+-                    `command_args` varchar(255) NOT NULL default '',
+-                    `command_line` varchar(255) NOT NULL default '',
+-                    `timeout` smallint(6) NOT NULL default '0',
+-                    `early_timeout` smallint(6) NOT NULL default '0',
+-                    `execution_time` double NOT NULL default '0',
+-                    `latency` double NOT NULL default '0',
+-                    `return_code` smallint(6) NOT NULL default '0',
+-                    `output` varchar(255) NOT NULL default '',
+-                    `perfdata` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`hostcheck_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`host_object_id`,`start_time`,`start_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical host checks';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostchecks` (
++                        `hostcheck_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        `check_type` smallint(6) NOT NULL default '0',
++                        `is_raw_check` smallint(6) NOT NULL default '0',
++                        `current_check_attempt` smallint(6) NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `state` smallint(6) NOT NULL default '0',
++                        `state_type` smallint(6) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        `command_object_id` int(11) NOT NULL default '0',
++                        `command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `command_line` varchar(255) character set latin1 NOT NULL default '',
++                        `timeout` smallint(6) NOT NULL default '0',
++                        `early_timeout` smallint(6) NOT NULL default '0',
++                        `execution_time` double NOT NULL default '0',
++                        `latency` double NOT NULL default '0',
++                        `return_code` smallint(6) NOT NULL default '0',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        `perfdata` TEXT character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`hostcheck_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`host_object_id`,`start_time`,`start_time_usec`)
++                      ) ENGINE=MyISAM  COMMENT='Historical host checks';
++              ";
+     }
+     if (!in_array('npc_hostdependencies', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostdependencies` (
+-                    `hostdependency_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    `dependent_host_object_id` int(11) NOT NULL default '0',
+-                    `dependency_type` smallint(6) NOT NULL default '0',
+-                    `inherits_parent` smallint(6) NOT NULL default '0',
+-                    `timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `fail_on_up` smallint(6) NOT NULL default '0',
+-                    `fail_on_down` smallint(6) NOT NULL default '0',
+-                    `fail_on_unreachable` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`hostdependency_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`dependent_host_object_id`,`dependency_type`,`inherits_parent`,`fail_on_up`,`fail_on_down`,`fail_on_unreachable`)
+-                  ) ENGINE=InnoDB COMMENT='Host dependency definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostdependencies` (
++                        `hostdependency_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        `dependent_host_object_id` int(11) NOT NULL default '0',
++                        `dependency_type` smallint(6) NOT NULL default '0',
++                        `inherits_parent` smallint(6) NOT NULL default '0',
++                        `timeperiod_object_id` int(11) NOT NULL default '0',
++                        `fail_on_up` smallint(6) NOT NULL default '0',
++                        `fail_on_down` smallint(6) NOT NULL default '0',
++                        `fail_on_unreachable` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`hostdependency_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`dependent_host_object_id`,`dependency_type`,`inherits_parent`,`fail_on_up`,`fail_on_down`,`fail_on_unreachable`)
++                      ) ENGINE=MyISAM COMMENT='Host dependency definitions';
++              ";
+     }
+     if (!in_array('npc_hostescalation_contactgroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostescalation_contactgroups` (
+-                    `hostescalation_contactgroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `hostescalation_id` int(11) NOT NULL default '0',
+-                    `contactgroup_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`hostescalation_contactgroup_id`),
+-                    UNIQUE KEY `instance_id` (`hostescalation_id`,`contactgroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Host escalation contact groups';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostescalation_contactgroups` (
++                        `hostescalation_contactgroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `hostescalation_id` int(11) NOT NULL default '0',
++                        `contactgroup_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`hostescalation_contactgroup_id`),
++                        UNIQUE KEY `instance_id` (`hostescalation_id`,`contactgroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Host escalation contact groups';
++              ";
+     }
+     if (!in_array('npc_hostescalation_contacts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostescalation_contacts` (
+-                    `hostescalation_contact_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `hostescalation_id` int(11) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`hostescalation_contact_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`hostescalation_id`,`contact_object_id`)
+-                  ) ENGINE=InnoDB;";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostescalation_contacts` (
++                        `hostescalation_contact_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `hostescalation_id` int(11) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`hostescalation_contact_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`hostescalation_id`,`contact_object_id`)
++                      ) ENGINE=MyISAM ;
++              ";
+     }
+     if (!in_array('npc_hostescalations', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostescalations` (
+-                    `hostescalation_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    `timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `first_notification` smallint(6) NOT NULL default '0',
+-                    `last_notification` smallint(6) NOT NULL default '0',
+-                    `notification_interval` double NOT NULL default '0',
+-                    `escalate_on_recovery` smallint(6) NOT NULL default '0',
+-                    `escalate_on_down` smallint(6) NOT NULL default '0',
+-                    `escalate_on_unreachable` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`hostescalation_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
+-                  ) ENGINE=InnoDB COMMENT='Host escalation definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostescalations` (
++                        `hostescalation_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        `timeperiod_object_id` int(11) NOT NULL default '0',
++                        `first_notification` smallint(6) NOT NULL default '0',
++                        `last_notification` smallint(6) NOT NULL default '0',
++                        `notification_interval` double NOT NULL default '0',
++                        `escalate_on_recovery` smallint(6) NOT NULL default '0',
++                        `escalate_on_down` smallint(6) NOT NULL default '0',
++                        `escalate_on_unreachable` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`hostescalation_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
++                      ) ENGINE=MyISAM  COMMENT='Host escalation definitions';
++              ";
+     }
+     if (!in_array('npc_hostgroup_members', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostgroup_members` (
+-                    `hostgroup_member_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `hostgroup_id` int(11) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`hostgroup_member_id`),
+-                    UNIQUE KEY `instance_id` (`hostgroup_id`,`host_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Hostgroup members';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostgroup_members` (
++                        `hostgroup_member_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `hostgroup_id` int(11) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`hostgroup_member_id`),
++                        UNIQUE KEY `instance_id` (`hostgroup_id`,`host_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Hostgroup members';
++              ";
+     }
+     if (!in_array('npc_hostgroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hostgroups` (
+-                    `hostgroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `hostgroup_object_id` int(11) NOT NULL default '0',
+-                    `alias` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`hostgroup_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`hostgroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Hostgroup definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hostgroups` (
++                        `hostgroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `hostgroup_object_id` int(11) NOT NULL default '0',
++                        `alias` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`hostgroup_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`hostgroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Hostgroup definitions';
++              ";
+     }
+     if (!in_array('npc_hosts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hosts` (
+-                    `host_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    `alias` varchar(64) NOT NULL default '',
+-                    `display_name` varchar(64) NOT NULL default '',
+-                    `address` varchar(128) NOT NULL default '',
+-                    `check_command_object_id` int(11) NOT NULL default '0',
+-                    `check_command_args` varchar(255) NOT NULL default '',
+-                    `eventhandler_command_object_id` int(11) NOT NULL default '0',
+-                    `eventhandler_command_args` varchar(255) NOT NULL default '',
+-                    `notification_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `check_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `failure_prediction_options` varchar(64) NOT NULL default '',
+-                    `check_interval` double NOT NULL default '0',
+-                    `retry_interval` double NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `first_notification_delay` double NOT NULL default '0',
+-                    `notification_interval` double NOT NULL default '0',
+-                    `notify_on_down` smallint(6) NOT NULL default '0',
+-                    `notify_on_unreachable` smallint(6) NOT NULL default '0',
+-                    `notify_on_recovery` smallint(6) NOT NULL default '0',
+-                    `notify_on_flapping` smallint(6) NOT NULL default '0',
+-                    `notify_on_downtime` smallint(6) NOT NULL default '0',
+-                    `stalk_on_up` smallint(6) NOT NULL default '0',
+-                    `stalk_on_down` smallint(6) NOT NULL default '0',
+-                    `stalk_on_unreachable` smallint(6) NOT NULL default '0',
+-                    `flap_detection_enabled` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_up` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_down` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_unreachable` smallint(6) NOT NULL default '0',
+-                    `low_flap_threshold` double NOT NULL default '0',
+-                    `high_flap_threshold` double NOT NULL default '0',
+-                    `process_performance_data` smallint(6) NOT NULL default '0',
+-                    `freshness_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `freshness_threshold` smallint(6) NOT NULL default '0',
+-                    `passive_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `event_handler_enabled` smallint(6) NOT NULL default '0',
+-                    `active_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `retain_status_information` smallint(6) NOT NULL default '0',
+-                    `retain_nonstatus_information` smallint(6) NOT NULL default '0',
+-                    `notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `obsess_over_host` smallint(6) NOT NULL default '0',
+-                    `failure_prediction_enabled` smallint(6) NOT NULL default '0',
+-                    `notes` varchar(255) NOT NULL default '',
+-                    `notes_url` varchar(255) NOT NULL default '',
+-                    `action_url` varchar(255) NOT NULL default '',
+-                    `icon_image` varchar(255) NOT NULL default '',
+-                    `icon_image_alt` varchar(255) NOT NULL default '',
+-                    `vrml_image` varchar(255) NOT NULL default '',
+-                    `statusmap_image` varchar(255) NOT NULL default '',
+-                    `have_2d_coords` smallint(6) NOT NULL default '0',
+-                    `x_2d` smallint(6) NOT NULL default '0',
+-                    `y_2d` smallint(6) NOT NULL default '0',
+-                    `have_3d_coords` smallint(6) NOT NULL default '0',
+-                    `x_3d` double NOT NULL default '0',
+-                    `y_3d` double NOT NULL default '0',
+-                    `z_3d` double NOT NULL default '0',
+-                    PRIMARY KEY  (`host_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`),
+-                    KEY `idx1` (`host_object_id`),
+-                    KEY `idx2` (`config_type`)
+-                  ) ENGINE=InnoDB COMMENT='Host definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hosts` (
++                        `host_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        `alias` varchar(64) character set latin1 NOT NULL default '',
++                        `display_name` varchar(64) character set latin1 NOT NULL default '',
++                        `address` varchar(128) character set latin1 NOT NULL default '',
++                        `check_command_object_id` int(11) NOT NULL default '0',
++                        `check_command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `eventhandler_command_object_id` int(11) NOT NULL default '0',
++                        `eventhandler_command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `notification_timeperiod_object_id` int(11) NOT NULL default '0',
++                        `check_timeperiod_object_id` int(11) NOT NULL default '0',
++                        `failure_prediction_options` varchar(64) character set latin1 NOT NULL default '',
++                        `check_interval` double NOT NULL default '0',
++                        `retry_interval` double NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `first_notification_delay` double NOT NULL default '0',
++                        `notification_interval` double NOT NULL default '0',
++                        `notify_on_down` smallint(6) NOT NULL default '0',
++                        `notify_on_unreachable` smallint(6) NOT NULL default '0',
++                        `notify_on_recovery` smallint(6) NOT NULL default '0',
++                        `notify_on_flapping` smallint(6) NOT NULL default '0',
++                        `notify_on_downtime` smallint(6) NOT NULL default '0',
++                        `stalk_on_up` smallint(6) NOT NULL default '0',
++                        `stalk_on_down` smallint(6) NOT NULL default '0',
++                        `stalk_on_unreachable` smallint(6) NOT NULL default '0',
++                        `flap_detection_enabled` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_up` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_down` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_unreachable` smallint(6) NOT NULL default '0',
++                        `low_flap_threshold` double NOT NULL default '0',
++                        `high_flap_threshold` double NOT NULL default '0',
++                        `process_performance_data` smallint(6) NOT NULL default '0',
++                        `freshness_checks_enabled` smallint(6) NOT NULL default '0',
++                        `freshness_threshold` smallint(6) NOT NULL default '0',
++                        `passive_checks_enabled` smallint(6) NOT NULL default '0',
++                        `event_handler_enabled` smallint(6) NOT NULL default '0',
++                        `active_checks_enabled` smallint(6) NOT NULL default '0',
++                        `retain_status_information` smallint(6) NOT NULL default '0',
++                        `retain_nonstatus_information` smallint(6) NOT NULL default '0',
++                        `notifications_enabled` smallint(6) NOT NULL default '0',
++                        `obsess_over_host` smallint(6) NOT NULL default '0',
++                        `failure_prediction_enabled` smallint(6) NOT NULL default '0',
++                        `notes` varchar(255) character set latin1 NOT NULL default '',
++                        `notes_url` varchar(255) character set latin1 NOT NULL default '',
++                        `action_url` varchar(255) character set latin1 NOT NULL default '',
++                        `icon_image` varchar(255) character set latin1 NOT NULL default '',
++                        `icon_image_alt` varchar(255) character set latin1 NOT NULL default '',
++                        `vrml_image` varchar(255) character set latin1 NOT NULL default '',
++                        `statusmap_image` varchar(255) character set latin1 NOT NULL default '',
++                        `have_2d_coords` smallint(6) NOT NULL default '0',
++                        `x_2d` smallint(6) NOT NULL default '0',
++                        `y_2d` smallint(6) NOT NULL default '0',
++                        `have_3d_coords` smallint(6) NOT NULL default '0',
++                        `x_3d` double NOT NULL default '0',
++                        `y_3d` double NOT NULL default '0',
++                        `z_3d` double NOT NULL default '0',
++                        PRIMARY KEY  (`host_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`),
++                        KEY `host_object_id` (`host_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Host definitions';
++              ";
++        $sql[] = "CREATE INDEX idx1 ON npc_hosts(host_object_id);";
++        $sql[] = "CREATE INDEX idx2 ON npc_hosts(config_type);";
+     }
+     if (!in_array('npc_hoststatus', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_hoststatus` (
+-                    `hoststatus_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `output` varchar(255) NOT NULL default '',
+-                    `perfdata` varchar(255) NOT NULL default '',
+-                    `current_state` smallint(6) NOT NULL default '0',
+-                    `has_been_checked` smallint(6) NOT NULL default '0',
+-                    `should_be_scheduled` smallint(6) NOT NULL default '0',
+-                    `current_check_attempt` smallint(6) NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `check_type` smallint(6) NOT NULL default '0',
+-                    `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_hard_state` smallint(6) NOT NULL default '0',
+-                    `last_time_up` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_time_down` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_time_unreachable` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `state_type` smallint(6) NOT NULL default '0',
+-                    `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `no_more_notifications` smallint(6) NOT NULL default '0',
+-                    `notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
+-                    `acknowledgement_type` smallint(6) NOT NULL default '0',
+-                    `current_notification_number` smallint(6) NOT NULL default '0',
+-                    `passive_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `active_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `event_handler_enabled` smallint(6) NOT NULL default '0',
+-                    `flap_detection_enabled` smallint(6) NOT NULL default '0',
+-                    `is_flapping` smallint(6) NOT NULL default '0',
+-                    `percent_state_change` double NOT NULL default '0',
+-                    `latency` double NOT NULL default '0',
+-                    `execution_time` double NOT NULL default '0',
+-                    `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
+-                    `failure_prediction_enabled` smallint(6) NOT NULL default '0',
+-                    `process_performance_data` smallint(6) NOT NULL default '0',
+-                    `obsess_over_host` smallint(6) NOT NULL default '0',
+-                    `modified_host_attributes` int(11) NOT NULL default '0',
+-                    `event_handler` varchar(255) NOT NULL default '',
+-                    `check_command` varchar(255) NOT NULL default '',
+-                    `normal_check_interval` double NOT NULL default '0',
+-                    `retry_check_interval` double NOT NULL default '0',
+-                    `check_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`hoststatus_id`),
+-                    UNIQUE KEY `object_id` (`host_object_id`),
+-                    KEY `idx1` (`current_state`)
+-                  ) ENGINE=InnoDB COMMENT='Current host status information';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_hoststatus` (
++                        `hoststatus_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        `perfdata` TEXT character set latin1 NOT NULL default '',
++                        `current_state` smallint(6) NOT NULL default '0',
++                        `has_been_checked` smallint(6) NOT NULL default '0',
++                        `should_be_scheduled` smallint(6) NOT NULL default '0',
++                        `current_check_attempt` smallint(6) NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `check_type` smallint(6) NOT NULL default '0',
++                        `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_hard_state` smallint(6) NOT NULL default '0',
++                        `last_time_up` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_time_down` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_time_unreachable` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `state_type` smallint(6) NOT NULL default '0',
++                        `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `no_more_notifications` smallint(6) NOT NULL default '0',
++                        `notifications_enabled` smallint(6) NOT NULL default '0',
++                        `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
++                        `acknowledgement_type` smallint(6) NOT NULL default '0',
++                        `current_notification_number` smallint(6) NOT NULL default '0',
++                        `passive_checks_enabled` smallint(6) NOT NULL default '0',
++                        `active_checks_enabled` smallint(6) NOT NULL default '0',
++                        `event_handler_enabled` smallint(6) NOT NULL default '0',
++                        `flap_detection_enabled` smallint(6) NOT NULL default '0',
++                        `is_flapping` smallint(6) NOT NULL default '0',
++                        `percent_state_change` double NOT NULL default '0',
++                        `latency` double NOT NULL default '0',
++                        `execution_time` double NOT NULL default '0',
++                        `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
++                        `failure_prediction_enabled` smallint(6) NOT NULL default '0',
++                        `process_performance_data` smallint(6) NOT NULL default '0',
++                        `obsess_over_host` smallint(6) NOT NULL default '0',
++                        `modified_host_attributes` int(11) NOT NULL default '0',
++                        `event_handler` varchar(255) character set latin1 NOT NULL default '',
++                        `check_command` varchar(255) character set latin1 NOT NULL default '',
++                        `normal_check_interval` double NOT NULL default '0',
++                        `retry_check_interval` double NOT NULL default '0',
++                        `check_timeperiod_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`hoststatus_id`),
++                        UNIQUE KEY `object_id` (`host_object_id`),
++                        KEY `instance_id` (`instance_id`),
++                        KEY `status_update_time` (`status_update_time`),
++                        KEY `current_state` (`current_state`),
++                        KEY `check_type` (`check_type`),
++                        KEY `state_type` (`state_type`),
++                        KEY `last_state_change` (`last_state_change`),
++                        KEY `notifications_enabled` (`notifications_enabled`),
++                        KEY `problem_has_been_acknowledged` (`problem_has_been_acknowledged`),
++                        KEY `active_checks_enabled` (`active_checks_enabled`),
++                        KEY `passive_checks_enabled` (`passive_checks_enabled`),
++                        KEY `event_handler_enabled` (`event_handler_enabled`),
++                        KEY `flap_detection_enabled` (`flap_detection_enabled`),
++                        KEY `is_flapping` (`is_flapping`),
++                        KEY `percent_state_change` (`percent_state_change`),
++                        KEY `latency` (`latency`),
++                        KEY `execution_time` (`execution_time`),
++                        KEY `scheduled_downtime_depth` (`scheduled_downtime_depth`)
++                      ) ENGINE=MyISAM  COMMENT='Current host status information';
++              ";
+     }
+     if (!in_array('npc_instances', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_instances` (
+-                    `instance_id` smallint(6) NOT NULL auto_increment,
+-                    `instance_name` varchar(64) NOT NULL default '',
+-                    `instance_description` varchar(128) NOT NULL default '',
+-                    PRIMARY KEY  (`instance_id`)
+-                  ) ENGINE=InnoDB COMMENT='Location names of various Nagios installations';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_instances` (
++                        `instance_id` smallint(6) NOT NULL auto_increment,
++                        `instance_name` varchar(64) character set latin1 NOT NULL default '',
++                        `instance_description` varchar(128) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`instance_id`)
++                      ) ENGINE=MyISAM  COMMENT='Location names of various Nagios installations';
++              ";
+     }
+     if (!in_array('npc_logentries', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_logentries` (
+-                    `logentry_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` int(11) NOT NULL default '0',
+-                    `logentry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `entry_time_usec` int(11) NOT NULL default '0',
+-                    `logentry_type` int(11) NOT NULL default '0',
+-                    `logentry_data` varchar(255) NOT NULL default '',
+-                    `realtime_data` smallint(6) NOT NULL default '0',
+-                    `inferred_data_extracted` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`logentry_id`),
+-                    KEY `idx1` (`entry_time`,`entry_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical record of log entries';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_logentries` (
++                        `logentry_id` int(11) NOT NULL auto_increment,
++                        `instance_id` int(11) NOT NULL default '0',
++                        `logentry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `entry_time_usec` int(11) NOT NULL default '0',
++                        `logentry_type` int(11) NOT NULL default '0',
++                        `logentry_data` varchar(255) character set latin1 NOT NULL default '',
++                        `realtime_data` smallint(6) NOT NULL default '0',
++                        `inferred_data_extracted` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`logentry_id`)
++                      ) ENGINE=MyISAM COMMENT='Historical record of log entries';
++              ";
++              $sql[] = "CREATE INDEX idx1 ON npc_logentries(entry_time, entry_time_usec);";
+     }
+     if (!in_array('npc_notifications', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_notifications` (
+-                    `notification_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `notification_type` smallint(6) NOT NULL default '0',
+-                    `notification_reason` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    `state` smallint(6) NOT NULL default '0',
+-                    `output` varchar(255) NOT NULL default '',
+-                    `escalated` smallint(6) NOT NULL default '0',
+-                    `contacts_notified` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`notification_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical record of host and service notifications';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_notifications` (
++                        `notification_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `notification_type` smallint(6) NOT NULL default '0',
++                        `notification_reason` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        `state` smallint(6) NOT NULL default '0',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        `escalated` smallint(6) NOT NULL default '0',
++                        `contacts_notified` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`notification_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
++                      ) ENGINE=MyISAM  COMMENT='Historical record of host and service notifications';
++              ";
+     }
+     if (!in_array('npc_objects', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_objects` (
+-                    `object_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `objecttype_id` smallint(6) NOT NULL default '0',
+-                    `name1` varchar(128) NOT NULL default '',
+-                    `name2` varchar(128) default NULL,
+-                    `is_active` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`object_id`),
+-                    KEY `objecttype_id` (`objecttype_id`,`name1`,`name2`),
+-                    KEY `name_idx` (`name1`,`name2`)
+-                  ) ENGINE=InnoDB COMMENT='Current and historical objects of all kinds';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_objects` (
++                        `object_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `objecttype_id` smallint(6) NOT NULL default '0',
++                        `name1` varchar(128) character set latin1 NOT NULL default '',
++                        `name2` varchar(128) character set latin1 default NULL,
++                        `is_active` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`object_id`),
++                        KEY `objecttype_id` (`objecttype_id`,`name1`,`name2`)
++                      ) ENGINE=MyISAM  COMMENT='Current and historical objects of all kinds';
++              ";
++        // FIXME? $sql[] = "KEY `name_idx` (`name1`,`name2`)";
+     }
+     if (!in_array('npc_processevents', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_processevents` (
+-                    `processevent_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `event_type` smallint(6) NOT NULL default '0',
+-                    `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `event_time_usec` int(11) NOT NULL default '0',
+-                    `process_id` int(11) NOT NULL default '0',
+-                    `program_name` varchar(16) NOT NULL default '',
+-                    `program_version` varchar(20) NOT NULL default '',
+-                    `program_date` varchar(10) NOT NULL default '',
+-                    PRIMARY KEY  (`processevent_id`)
+-                  ) ENGINE=InnoDB COMMENT='Historical Nagios process events';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_processevents` (
++                        `processevent_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `event_type` smallint(6) NOT NULL default '0',
++                        `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `event_time_usec` int(11) NOT NULL default '0',
++                        `process_id` int(11) NOT NULL default '0',
++                        `program_name` varchar(16) character set latin1 NOT NULL default '',
++                        `program_version` varchar(20) character set latin1 NOT NULL default '',
++                        `program_date` varchar(10) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`processevent_id`)
++                      ) ENGINE=MyISAM  COMMENT='Historical Nagios process events';
++              ";
+     }
+     if (!in_array('npc_programstatus', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_programstatus` (
+-                    `programstatus_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `program_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `program_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `is_currently_running` smallint(6) NOT NULL default '0',
+-                    `process_id` int(11) NOT NULL default '0',
+-                    `daemon_mode` smallint(6) NOT NULL default '0',
+-                    `last_command_check` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_log_rotation` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `active_service_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `passive_service_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `active_host_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `passive_host_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `event_handlers_enabled` smallint(6) NOT NULL default '0',
+-                    `flap_detection_enabled` smallint(6) NOT NULL default '0',
+-                    `failure_prediction_enabled` smallint(6) NOT NULL default '0',
+-                    `process_performance_data` smallint(6) NOT NULL default '0',
+-                    `obsess_over_hosts` smallint(6) NOT NULL default '0',
+-                    `obsess_over_services` smallint(6) NOT NULL default '0',
+-                    `modified_host_attributes` int(11) NOT NULL default '0',
+-                    `modified_service_attributes` int(11) NOT NULL default '0',
+-                    `global_host_event_handler` varchar(255) NOT NULL default '',
+-                    `global_service_event_handler` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`programstatus_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`)
+-                  ) ENGINE=InnoDB COMMENT='Current program status information';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_programstatus` (
++                        `programstatus_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `program_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `program_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `is_currently_running` smallint(6) NOT NULL default '0',
++                        `process_id` int(11) NOT NULL default '0',
++                        `daemon_mode` smallint(6) NOT NULL default '0',
++                        `last_command_check` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_log_rotation` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `notifications_enabled` smallint(6) NOT NULL default '0',
++                        `active_service_checks_enabled` smallint(6) NOT NULL default '0',
++                        `passive_service_checks_enabled` smallint(6) NOT NULL default '0',
++                        `active_host_checks_enabled` smallint(6) NOT NULL default '0',
++                        `passive_host_checks_enabled` smallint(6) NOT NULL default '0',
++                        `event_handlers_enabled` smallint(6) NOT NULL default '0',
++                        `flap_detection_enabled` smallint(6) NOT NULL default '0',
++                        `failure_prediction_enabled` smallint(6) NOT NULL default '0',
++                        `process_performance_data` smallint(6) NOT NULL default '0',
++                        `obsess_over_hosts` smallint(6) NOT NULL default '0',
++                        `obsess_over_services` smallint(6) NOT NULL default '0',
++                        `modified_host_attributes` int(11) NOT NULL default '0',
++                        `modified_service_attributes` int(11) NOT NULL default '0',
++                        `global_host_event_handler` varchar(255) character set latin1 NOT NULL default '',
++                        `global_service_event_handler` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`programstatus_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`)
++                      ) ENGINE=MyISAM  COMMENT='Current program status information';
++              ";
+     }
+     if (!in_array('npc_runtimevariables', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_runtimevariables` (
+-                    `runtimevariable_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `varname` varchar(64) NOT NULL default '',
+-                    `varvalue` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`runtimevariable_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`varname`)
+-                  ) ENGINE=InnoDB COMMENT='Runtime variables from the Nagios daemon';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_runtimevariables` (
++                        `runtimevariable_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `varname` varchar(64) character set latin1 NOT NULL default '',
++                        `varvalue` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`runtimevariable_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`varname`)
++                      ) ENGINE=MyISAM  COMMENT='Runtime variables from the Nagios daemon';
++              ";
+     }
+     if (!in_array('npc_scheduleddowntime', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_scheduleddowntime` (
+-                    `scheduleddowntime_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `downtime_type` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `author_name` varchar(64) NOT NULL default '',
+-                    `comment_data` varchar(255) NOT NULL default '',
+-                    `internal_downtime_id` int(11) NOT NULL default '0',
+-                    `triggered_by_id` int(11) NOT NULL default '0',
+-                    `is_fixed` smallint(6) NOT NULL default '0',
+-                    `duration` smallint(6) NOT NULL default '0',
+-                    `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `was_started` smallint(6) NOT NULL default '0',
+-                    `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `actual_start_time_usec` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`scheduleddowntime_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
+-                  ) ENGINE=InnoDB COMMENT='Current scheduled host and service downtime';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_scheduleddowntime` (
++                        `scheduleddowntime_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `downtime_type` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `author_name` varchar(64) character set latin1 NOT NULL default '',
++                        `comment_data` varchar(255) character set latin1 NOT NULL default '',
++                        `internal_downtime_id` int(11) NOT NULL default '0',
++                        `triggered_by_id` int(11) NOT NULL default '0',
++                        `is_fixed` smallint(6) NOT NULL default '0',
++                        `duration` smallint(6) NOT NULL default '0',
++                        `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `was_started` smallint(6) NOT NULL default '0',
++                        `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `actual_start_time_usec` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`scheduleddowntime_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
++                      ) ENGINE=MyISAM COMMENT='Current scheduled host and service downtime';
++              ";
+     }
+     if (!in_array('npc_service_contactgroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_service_contactgroups` (
+-                    `service_contactgroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `service_id` int(11) NOT NULL default '0',
+-                    `contactgroup_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`service_contactgroup_id`),
+-                    UNIQUE KEY `instance_id` (`service_id`,`contactgroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Service contact groups';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_service_contactgroups` (
++                        `service_contactgroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `service_id` int(11) NOT NULL default '0',
++                        `contactgroup_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`service_contactgroup_id`),
++                        UNIQUE KEY `instance_id` (`service_id`,`contactgroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Service contact groups';
++              ";
+     }
+     if (!in_array('npc_service_contacts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_service_contacts` (
+-                    `service_contact_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `service_id` int(11) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`service_contact_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`service_id`,`contact_object_id`)
+-                  ) ENGINE=InnoDB;";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_service_contacts` (
++                        `service_contact_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `service_id` int(11) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`service_contact_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`service_id`,`contact_object_id`)
++                      ) ENGINE=MyISAM ;
++              ";
+     }
+     if (!in_array('npc_servicechecks', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_servicechecks` (
+-                    `servicecheck_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `service_object_id` int(11) NOT NULL default '0',
+-                    `check_type` smallint(6) NOT NULL default '0',
+-                    `current_check_attempt` smallint(6) NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `state` smallint(6) NOT NULL default '0',
+-                    `state_type` smallint(6) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    `command_object_id` int(11) NOT NULL default '0',
+-                    `command_args` varchar(255) NOT NULL default '',
+-                    `command_line` varchar(255) NOT NULL default '',
+-                    `timeout` smallint(6) NOT NULL default '0',
+-                    `early_timeout` smallint(6) NOT NULL default '0',
+-                    `execution_time` double NOT NULL default '0',
+-                    `latency` double NOT NULL default '0',
+-                    `return_code` smallint(6) NOT NULL default '0',
+-                    `output` varchar(255) NOT NULL default '',
+-                    `perfdata` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`servicecheck_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`service_object_id`,`start_time`,`start_time_usec`),
+-                    KEY `idx1` (`service_object_id`,`start_time`),
+-                    KEY `idx2` (`instance_id`,`start_time`)
+-                  ) ENGINE=InnoDB COMMENT='Historical service checks';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_servicechecks` (
++                        `servicecheck_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `service_object_id` int(11) NOT NULL default '0',
++                        `check_type` smallint(6) NOT NULL default '0',
++                        `current_check_attempt` smallint(6) NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `state` smallint(6) NOT NULL default '0',
++                        `state_type` smallint(6) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        `command_object_id` int(11) NOT NULL default '0',
++                        `command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `command_line` varchar(255) character set latin1 NOT NULL default '',
++                        `timeout` smallint(6) NOT NULL default '0',
++                        `early_timeout` smallint(6) NOT NULL default '0',
++                        `execution_time` double NOT NULL default '0',
++                        `latency` double NOT NULL default '0',
++                        `return_code` smallint(6) NOT NULL default '0',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        `perfdata` TEXT character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`servicecheck_id`),
++                        KEY `instance_id` (`instance_id`),
++                        KEY `service_object_id` (`service_object_id`),
++                        KEY `start_time` (`start_time`)
++                      ) ENGINE=MyISAM  COMMENT='Historical service checks';
++              ";
++        $sql[] = "CREATE INDEX idx1 ON npc_servicechecks(service_object_id, start_time);";
++        $sql[] = "CREATE INDEX idx2 ON npc_servicechecks(instance_id, start_time);";
++        // FIXME? $sql[] = "UNIQUE KEY `instance_id` (`instance_id`,`service_object_id`,`start_time`,`start_time_usec`)";
+     }
+     if (!in_array('npc_servicedependencies', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_servicedependencies` (
+-                    `servicedependency_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `service_object_id` int(11) NOT NULL default '0',
+-                    `dependent_service_object_id` int(11) NOT NULL default '0',
+-                    `dependency_type` smallint(6) NOT NULL default '0',
+-                    `inherits_parent` smallint(6) NOT NULL default '0',
+-                    `timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `fail_on_ok` smallint(6) NOT NULL default '0',
+-                    `fail_on_warning` smallint(6) NOT NULL default '0',
+-                    `fail_on_unknown` smallint(6) NOT NULL default '0',
+-                    `fail_on_critical` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`servicedependency_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`dependent_service_object_id`,`dependency_type`,`inherits_parent`,`fail_on_ok`,`fail_on_warning`,`fail_on_unknown`,`fail_on_critical`)
+-                  ) ENGINE=InnoDB COMMENT='Service dependency definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_servicedependencies` (
++                        `servicedependency_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `service_object_id` int(11) NOT NULL default '0',
++                        `dependent_service_object_id` int(11) NOT NULL default '0',
++                        `dependency_type` smallint(6) NOT NULL default '0',
++                        `inherits_parent` smallint(6) NOT NULL default '0',
++                        `timeperiod_object_id` int(11) NOT NULL default '0',
++                        `fail_on_ok` smallint(6) NOT NULL default '0',
++                        `fail_on_warning` smallint(6) NOT NULL default '0',
++                        `fail_on_unknown` smallint(6) NOT NULL default '0',
++                        `fail_on_critical` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`servicedependency_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`dependent_service_object_id`,`dependency_type`,`inherits_parent`,`fail_on_ok`,`fail_on_warning`,`fail_on_unknown`,`fail_on_critical`)
++                      ) ENGINE=MyISAM COMMENT='Service dependency definitions';
++              ";
+     }
+     if (!in_array('npc_serviceescalation_contactgroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_serviceescalation_contactgroups` (
+-                    `serviceescalation_contactgroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `serviceescalation_id` int(11) NOT NULL default '0',
+-                    `contactgroup_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`serviceescalation_contactgroup_id`),
+-                    UNIQUE KEY `instance_id` (`serviceescalation_id`,`contactgroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Service escalation contact groups';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_serviceescalation_contactgroups` (
++                        `serviceescalation_contactgroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `serviceescalation_id` int(11) NOT NULL default '0',
++                        `contactgroup_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`serviceescalation_contactgroup_id`),
++                        UNIQUE KEY `instance_id` (`serviceescalation_id`,`contactgroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Service escalation contact groups';
++              ";
+     }
+     if (!in_array('npc_serviceescalation_contacts', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_serviceescalation_contacts` (
+-                    `serviceescalation_contact_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `serviceescalation_id` int(11) NOT NULL default '0',
+-                    `contact_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`serviceescalation_contact_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`serviceescalation_id`,`contact_object_id`)
+-                  ) ENGINE=InnoDB;";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_serviceescalation_contacts` (
++                        `serviceescalation_contact_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `serviceescalation_id` int(11) NOT NULL default '0',
++                        `contact_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`serviceescalation_contact_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`serviceescalation_id`,`contact_object_id`)
++                      ) ENGINE=MyISAM ;
++              ";
+     }
+     if (!in_array('npc_serviceescalations', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_serviceescalations` (
+-                    `serviceescalation_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `service_object_id` int(11) NOT NULL default '0',
+-                    `timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `first_notification` smallint(6) NOT NULL default '0',
+-                    `last_notification` smallint(6) NOT NULL default '0',
+-                    `notification_interval` double NOT NULL default '0',
+-                    `escalate_on_recovery` smallint(6) NOT NULL default '0',
+-                    `escalate_on_warning` smallint(6) NOT NULL default '0',
+-                    `escalate_on_unknown` smallint(6) NOT NULL default '0',
+-                    `escalate_on_critical` smallint(6) NOT NULL default '0',
+-                    PRIMARY KEY  (`serviceescalation_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
+-                  ) ENGINE=InnoDB COMMENT='Service escalation definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_serviceescalations` (
++                        `serviceescalation_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `service_object_id` int(11) NOT NULL default '0',
++                        `timeperiod_object_id` int(11) NOT NULL default '0',
++                        `first_notification` smallint(6) NOT NULL default '0',
++                        `last_notification` smallint(6) NOT NULL default '0',
++                        `notification_interval` double NOT NULL default '0',
++                        `escalate_on_recovery` smallint(6) NOT NULL default '0',
++                        `escalate_on_warning` smallint(6) NOT NULL default '0',
++                        `escalate_on_unknown` smallint(6) NOT NULL default '0',
++                        `escalate_on_critical` smallint(6) NOT NULL default '0',
++                        PRIMARY KEY  (`serviceescalation_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
++                      ) ENGINE=MyISAM  COMMENT='Service escalation definitions';
++              ";
+     }
+     if (!in_array('npc_servicegroup_members', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_servicegroup_members` (
+-                    `servicegroup_member_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `servicegroup_id` int(11) NOT NULL default '0',
+-                    `service_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`servicegroup_member_id`),
+-                    UNIQUE KEY `instance_id` (`servicegroup_id`,`service_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Servicegroup members';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_servicegroup_members` (
++                        `servicegroup_member_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `servicegroup_id` int(11) NOT NULL default '0',
++                        `service_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`servicegroup_member_id`),
++                        UNIQUE KEY `instance_id` (`servicegroup_id`,`service_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Servicegroup members';
++              ";
+     }
+     if (!in_array('npc_servicegroups', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_servicegroups` (
+-                    `servicegroup_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `servicegroup_object_id` int(11) NOT NULL default '0',
+-                    `alias` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`servicegroup_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`servicegroup_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Servicegroup definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_servicegroups` (
++                        `servicegroup_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `servicegroup_object_id` int(11) NOT NULL default '0',
++                        `alias` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`servicegroup_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`servicegroup_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Servicegroup definitions';
++              ";
+     }
+     if (!in_array('npc_services', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_services` (
+-                    `service_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `host_object_id` int(11) NOT NULL default '0',
+-                    `service_object_id` int(11) NOT NULL default '0',
+-                    `display_name` varchar(64) NOT NULL default '',
+-                    `check_command_object_id` int(11) NOT NULL default '0',
+-                    `check_command_args` varchar(255) NOT NULL default '',
+-                    `eventhandler_command_object_id` int(11) NOT NULL default '0',
+-                    `eventhandler_command_args` varchar(255) NOT NULL default '',
+-                    `notification_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `check_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `failure_prediction_options` varchar(64) NOT NULL default '',
+-                    `check_interval` double NOT NULL default '0',
+-                    `retry_interval` double NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `first_notification_delay` double NOT NULL default '0',
+-                    `notification_interval` double NOT NULL default '0',
+-                    `notify_on_warning` smallint(6) NOT NULL default '0',
+-                    `notify_on_unknown` smallint(6) NOT NULL default '0',
+-                    `notify_on_critical` smallint(6) NOT NULL default '0',
+-                    `notify_on_recovery` smallint(6) NOT NULL default '0',
+-                    `notify_on_flapping` smallint(6) NOT NULL default '0',
+-                    `notify_on_downtime` smallint(6) NOT NULL default '0',
+-                    `stalk_on_ok` smallint(6) NOT NULL default '0',
+-                    `stalk_on_warning` smallint(6) NOT NULL default '0',
+-                    `stalk_on_unknown` smallint(6) NOT NULL default '0',
+-                    `stalk_on_critical` smallint(6) NOT NULL default '0',
+-                    `is_volatile` smallint(6) NOT NULL default '0',
+-                    `flap_detection_enabled` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_ok` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_warning` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_unknown` smallint(6) NOT NULL default '0',
+-                    `flap_detection_on_critical` smallint(6) NOT NULL default '0',
+-                    `low_flap_threshold` double NOT NULL default '0',
+-                    `high_flap_threshold` double NOT NULL default '0',
+-                    `process_performance_data` smallint(6) NOT NULL default '0',
+-                    `freshness_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `freshness_threshold` smallint(6) NOT NULL default '0',
+-                    `passive_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `event_handler_enabled` smallint(6) NOT NULL default '0',
+-                    `active_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `retain_status_information` smallint(6) NOT NULL default '0',
+-                    `retain_nonstatus_information` smallint(6) NOT NULL default '0',
+-                    `notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `obsess_over_service` smallint(6) NOT NULL default '0',
+-                    `failure_prediction_enabled` smallint(6) NOT NULL default '0',
+-                    `notes` varchar(255) NOT NULL default '',
+-                    `notes_url` varchar(255) NOT NULL default '',
+-                    `action_url` varchar(255) NOT NULL default '',
+-                    `icon_image` varchar(255) NOT NULL default '',
+-                    `icon_image_alt` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`service_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`),
+-                    KEY `idx1` (`config_type`),
+-                    KEY `idx2` (`host_object_id`),
+-                    KEY `idx3` (`service_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Service definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_services` (
++                        `service_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `host_object_id` int(11) NOT NULL default '0',
++                        `service_object_id` int(11) NOT NULL default '0',
++                        `display_name` varchar(64) character set latin1 NOT NULL default '',
++                        `check_command_object_id` int(11) NOT NULL default '0',
++                        `check_command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `eventhandler_command_object_id` int(11) NOT NULL default '0',
++                        `eventhandler_command_args` varchar(255) character set latin1 NOT NULL default '',
++                        `notification_timeperiod_object_id` int(11) NOT NULL default '0',
++                        `check_timeperiod_object_id` int(11) NOT NULL default '0',
++                        `failure_prediction_options` varchar(64) character set latin1 NOT NULL default '',
++                        `check_interval` double NOT NULL default '0',
++                        `retry_interval` double NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `first_notification_delay` double NOT NULL default '0',
++                        `notification_interval` double NOT NULL default '0',
++                        `notify_on_warning` smallint(6) NOT NULL default '0',
++                        `notify_on_unknown` smallint(6) NOT NULL default '0',
++                        `notify_on_critical` smallint(6) NOT NULL default '0',
++                        `notify_on_recovery` smallint(6) NOT NULL default '0',
++                        `notify_on_flapping` smallint(6) NOT NULL default '0',
++                        `notify_on_downtime` smallint(6) NOT NULL default '0',
++                        `stalk_on_ok` smallint(6) NOT NULL default '0',
++                        `stalk_on_warning` smallint(6) NOT NULL default '0',
++                        `stalk_on_unknown` smallint(6) NOT NULL default '0',
++                        `stalk_on_critical` smallint(6) NOT NULL default '0',
++                        `is_volatile` smallint(6) NOT NULL default '0',
++                        `flap_detection_enabled` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_ok` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_warning` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_unknown` smallint(6) NOT NULL default '0',
++                        `flap_detection_on_critical` smallint(6) NOT NULL default '0',
++                        `low_flap_threshold` double NOT NULL default '0',
++                        `high_flap_threshold` double NOT NULL default '0',
++                        `process_performance_data` smallint(6) NOT NULL default '0',
++                        `freshness_checks_enabled` smallint(6) NOT NULL default '0',
++                        `freshness_threshold` smallint(6) NOT NULL default '0',
++                        `passive_checks_enabled` smallint(6) NOT NULL default '0',
++                        `event_handler_enabled` smallint(6) NOT NULL default '0',
++                        `active_checks_enabled` smallint(6) NOT NULL default '0',
++                        `retain_status_information` smallint(6) NOT NULL default '0',
++                        `retain_nonstatus_information` smallint(6) NOT NULL default '0',
++                        `notifications_enabled` smallint(6) NOT NULL default '0',
++                        `obsess_over_service` smallint(6) NOT NULL default '0',
++                        `failure_prediction_enabled` smallint(6) NOT NULL default '0',
++                        `notes` varchar(255) character set latin1 NOT NULL default '',
++                        `notes_url` varchar(255) character set latin1 NOT NULL default '',
++                        `action_url` varchar(255) character set latin1 NOT NULL default '',
++                        `icon_image` varchar(255) character set latin1 NOT NULL default '',
++                        `icon_image_alt` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`service_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`),
++                        KEY `service_object_id` (`service_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Service definitions';
++              ";
++
++        $sql[] = "CREATE INDEX idx1 ON npc_services(config_type);";
++        $sql[] = "CREATE INDEX idx2 ON npc_services(host_object_id);";
++        $sql[] = "CREATE INDEX idx3 ON npc_services(service_object_id);";
+     }
+     if (!in_array('npc_servicestatus', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_servicestatus` (
+-                    `servicestatus_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `service_object_id` int(11) NOT NULL default '0',
+-                    `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `output` varchar(255) NOT NULL default '',
+-                    `perfdata` varchar(255) NOT NULL default '',
+-                    `current_state` smallint(6) NOT NULL default '0',
+-                    `has_been_checked` smallint(6) NOT NULL default '0',
+-                    `should_be_scheduled` smallint(6) NOT NULL default '0',
+-                    `current_check_attempt` smallint(6) NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `check_type` smallint(6) NOT NULL default '0',
+-                    `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_hard_state` smallint(6) NOT NULL default '0',
+-                    `last_time_ok` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_time_warning` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_time_unknown` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `last_time_critical` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `state_type` smallint(6) NOT NULL default '0',
+-                    `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `no_more_notifications` smallint(6) NOT NULL default '0',
+-                    `notifications_enabled` smallint(6) NOT NULL default '0',
+-                    `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
+-                    `acknowledgement_type` smallint(6) NOT NULL default '0',
+-                    `current_notification_number` smallint(6) NOT NULL default '0',
+-                    `passive_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `active_checks_enabled` smallint(6) NOT NULL default '0',
+-                    `event_handler_enabled` smallint(6) NOT NULL default '0',
+-                    `flap_detection_enabled` smallint(6) NOT NULL default '0',
+-                    `is_flapping` smallint(6) NOT NULL default '0',
+-                    `percent_state_change` double NOT NULL default '0',
+-                    `latency` double NOT NULL default '0',
+-                    `execution_time` double NOT NULL default '0',
+-                    `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
+-                    `failure_prediction_enabled` smallint(6) NOT NULL default '0',
+-                    `process_performance_data` smallint(6) NOT NULL default '0',
+-                    `obsess_over_service` smallint(6) NOT NULL default '0',
+-                    `modified_service_attributes` int(11) NOT NULL default '0',
+-                    `event_handler` varchar(255) NOT NULL default '',
+-                    `check_command` varchar(255) NOT NULL default '',
+-                    `normal_check_interval` double NOT NULL default '0',
+-                    `retry_check_interval` double NOT NULL default '0',
+-                    `check_timeperiod_object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`servicestatus_id`),
+-                    UNIQUE KEY `object_id` (`service_object_id`),
+-                    KEY `idx1` (`current_state`)
+-                  ) ENGINE=InnoDB COMMENT='Current service status information';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_servicestatus` (
++                        `servicestatus_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `service_object_id` int(11) NOT NULL default '0',
++                        `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        `perfdata` TEXT character set latin1 NOT NULL default '',
++                        `current_state` smallint(6) NOT NULL default '0',
++                        `has_been_checked` smallint(6) NOT NULL default '0',
++                        `should_be_scheduled` smallint(6) NOT NULL default '0',
++                        `current_check_attempt` smallint(6) NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `check_type` smallint(6) NOT NULL default '0',
++                        `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_hard_state` smallint(6) NOT NULL default '0',
++                        `last_time_ok` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_time_warning` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_time_unknown` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `last_time_critical` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `state_type` smallint(6) NOT NULL default '0',
++                        `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `no_more_notifications` smallint(6) NOT NULL default '0',
++                        `notifications_enabled` smallint(6) NOT NULL default '0',
++                        `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
++                        `acknowledgement_type` smallint(6) NOT NULL default '0',
++                        `current_notification_number` smallint(6) NOT NULL default '0',
++                        `passive_checks_enabled` smallint(6) NOT NULL default '0',
++                        `active_checks_enabled` smallint(6) NOT NULL default '0',
++                        `event_handler_enabled` smallint(6) NOT NULL default '0',
++                        `flap_detection_enabled` smallint(6) NOT NULL default '0',
++                        `is_flapping` smallint(6) NOT NULL default '0',
++                        `percent_state_change` double NOT NULL default '0',
++                        `latency` double NOT NULL default '0',
++                        `execution_time` double NOT NULL default '0',
++                        `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
++                        `failure_prediction_enabled` smallint(6) NOT NULL default '0',
++                        `process_performance_data` smallint(6) NOT NULL default '0',
++                        `obsess_over_service` smallint(6) NOT NULL default '0',
++                        `modified_service_attributes` int(11) NOT NULL default '0',
++                        `event_handler` varchar(255) character set latin1 NOT NULL default '',
++                        `check_command` varchar(255) character set latin1 NOT NULL default '',
++                        `normal_check_interval` double NOT NULL default '0',
++                        `retry_check_interval` double NOT NULL default '0',
++                        `check_timeperiod_object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`servicestatus_id`),
++                        UNIQUE KEY `object_id` (`service_object_id`),
++                        KEY `instance_id` (`instance_id`),
++                        KEY `status_update_time` (`status_update_time`),
++                        KEY `current_state` (`current_state`),
++                        KEY `check_type` (`check_type`),
++                        KEY `state_type` (`state_type`),
++                        KEY `last_state_change` (`last_state_change`),
++                        KEY `notifications_enabled` (`notifications_enabled`),
++                        KEY `problem_has_been_acknowledged` (`problem_has_been_acknowledged`),
++                        KEY `active_checks_enabled` (`active_checks_enabled`),
++                        KEY `passive_checks_enabled` (`passive_checks_enabled`),
++                        KEY `event_handler_enabled` (`event_handler_enabled`),
++                        KEY `flap_detection_enabled` (`flap_detection_enabled`),
++                        KEY `is_flapping` (`is_flapping`),
++                        KEY `percent_state_change` (`percent_state_change`),
++                        KEY `latency` (`latency`),
++                        KEY `execution_time` (`execution_time`),
++                        KEY `scheduled_downtime_depth` (`scheduled_downtime_depth`)
++                      ) ENGINE=MyISAM  COMMENT='Current service status information';
++              ";
++        $sql[] = "CREATE INDEX idx1 ON npc_servicestatus(current_state);";
+     }
+     if (!in_array('npc_statehistory', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_statehistory` (
+-                    `statehistory_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `state_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `state_time_usec` int(11) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `state_change` smallint(6) NOT NULL default '0',
+-                    `state` smallint(6) NOT NULL default '0',
+-                    `state_type` smallint(6) NOT NULL default '0',
+-                    `current_check_attempt` smallint(6) NOT NULL default '0',
+-                    `max_check_attempts` smallint(6) NOT NULL default '0',
+-                    `last_state` smallint(6) NOT NULL default '-1',
+-                    `last_hard_state` smallint(6) NOT NULL default '-1',
+-                    `output` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`statehistory_id`)
+-                  ) ENGINE=InnoDB COMMENT='Historical host and service state changes';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_statehistory` (
++                        `statehistory_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `state_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `state_time_usec` int(11) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `state_change` smallint(6) NOT NULL default '0',
++                        `state` smallint(6) NOT NULL default '0',
++                        `state_type` smallint(6) NOT NULL default '0',
++                        `current_check_attempt` smallint(6) NOT NULL default '0',
++                        `max_check_attempts` smallint(6) NOT NULL default '0',
++                        `last_state` smallint(6) NOT NULL default '-1',
++                        `last_hard_state` smallint(6) NOT NULL default '-1',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        PRIMARY KEY  (`statehistory_id`)
++                      ) ENGINE=MyISAM COMMENT='Historical host and service state changes';
++              ";
+     }
+     if (!in_array('npc_systemcommands', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_systemcommands` (
+-                    `systemcommand_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `start_time_usec` int(11) NOT NULL default '0',
+-                    `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `end_time_usec` int(11) NOT NULL default '0',
+-                    `command_line` varchar(255) NOT NULL default '',
+-                    `timeout` smallint(6) NOT NULL default '0',
+-                    `early_timeout` smallint(6) NOT NULL default '0',
+-                    `execution_time` double NOT NULL default '0',
+-                    `return_code` smallint(6) NOT NULL default '0',
+-                    `output` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`systemcommand_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`start_time`,`start_time_usec`)
+-                  ) ENGINE=InnoDB COMMENT='Historical system commands that are executed';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_systemcommands` (
++                        `systemcommand_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `start_time_usec` int(11) NOT NULL default '0',
++                        `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `end_time_usec` int(11) NOT NULL default '0',
++                        `command_line` varchar(255) character set latin1 NOT NULL default '',
++                        `timeout` smallint(6) NOT NULL default '0',
++                        `early_timeout` smallint(6) NOT NULL default '0',
++                        `execution_time` double NOT NULL default '0',
++                        `return_code` smallint(6) NOT NULL default '0',
++                        `output` varchar(255) character set latin1 NOT NULL default '',
++                        `long_output` TEXT NOT NULL default '',
++                        PRIMARY KEY  (`systemcommand_id`),
++                        KEY `instance_id` (`instance_id`),
++                        KEY `start_time` (`start_time`)
++                      ) ENGINE=MyISAM  COMMENT='Historical system commands that are executed';
++              ";
++              // FIXME? $sql[] = "UNIQUE KEY `instance_id` (`instance_id`,`start_time`,`start_time_usec`)";
+     }
+     if (!in_array('npc_timedeventqueue', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_timedeventqueue` (
+-                    `timedeventqueue_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `event_type` smallint(6) NOT NULL default '0',
+-                    `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `queued_time_usec` int(11) NOT NULL default '0',
+-                    `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `recurring_event` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`timedeventqueue_id`)
+-                  ) ENGINE=InnoDB COMMENT='Current Nagios event queue';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_timedeventqueue` (
++                        `timedeventqueue_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `event_type` smallint(6) NOT NULL default '0',
++                        `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `queued_time_usec` int(11) NOT NULL default '0',
++                        `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `recurring_event` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`timedeventqueue_id`),
++                        KEY `instance_id` (`instance_id`),
++                        KEY `event_type` (`event_type`),
++                        KEY `scheduled_time` (`scheduled_time`),
++                        KEY `object_id` (`object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Current Nagios event queue';
++              ";
+     }
+     if (!in_array('npc_timedevents', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_timedevents` (
+-                    `timedevent_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `event_type` smallint(6) NOT NULL default '0',
+-                    `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `queued_time_usec` int(11) NOT NULL default '0',
+-                    `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `event_time_usec` int(11) NOT NULL default '0',
+-                    `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `recurring_event` smallint(6) NOT NULL default '0',
+-                    `object_id` int(11) NOT NULL default '0',
+-                    `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
+-                    `deletion_time_usec` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`timedevent_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`event_type`,`scheduled_time`,`object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Historical events from the Nagios event queue';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_timedevents` (
++                        `timedevent_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `event_type` smallint(6) NOT NULL default '0',
++                        `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `queued_time_usec` int(11) NOT NULL default '0',
++                        `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `event_time_usec` int(11) NOT NULL default '0',
++                        `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `recurring_event` smallint(6) NOT NULL default '0',
++                        `object_id` int(11) NOT NULL default '0',
++                        `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
++                        `deletion_time_usec` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`timedevent_id`),
++                        KEY `instance_id` (`instance_id`),
++                        KEY `event_type` (`event_type`),
++                        KEY `scheduled_time` (`scheduled_time`),
++                        KEY `object_id` (`object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Historical events from the Nagios event queue';
++              ";
++              // FIXME? $sql[] = "UNIQUE KEY `instance_id` (`instance_id`,`event_type`,`scheduled_time`,`object_id`)";
+     }
+     if (!in_array('npc_timeperiod_timeranges', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_timeperiod_timeranges` (
+-                    `timeperiod_timerange_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `timeperiod_id` int(11) NOT NULL default '0',
+-                    `day` smallint(6) NOT NULL default '0',
+-                    `start_sec` int(11) NOT NULL default '0',
+-                    `end_sec` int(11) NOT NULL default '0',
+-                    PRIMARY KEY  (`timeperiod_timerange_id`),
+-                    UNIQUE KEY `instance_id` (`timeperiod_id`,`day`,`start_sec`,`end_sec`)
+-                  ) ENGINE=InnoDB COMMENT='Timeperiod definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_timeperiod_timeranges` (
++                        `timeperiod_timerange_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `timeperiod_id` int(11) NOT NULL default '0',
++                        `day` smallint(6) NOT NULL default '0',
++                        `start_sec` int(11) NOT NULL default '0',
++                        `end_sec` int(11) NOT NULL default '0',
++                        PRIMARY KEY  (`timeperiod_timerange_id`),
++                        UNIQUE KEY `instance_id` (`timeperiod_id`,`day`,`start_sec`,`end_sec`)
++                      ) ENGINE=MyISAM  COMMENT='Timeperiod definitions';
++              ";
+     }
+     if (!in_array('npc_timeperiods', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_timeperiods` (
+-                    `timeperiod_id` int(11) NOT NULL auto_increment,
+-                    `instance_id` smallint(6) NOT NULL default '0',
+-                    `config_type` smallint(6) NOT NULL default '0',
+-                    `timeperiod_object_id` int(11) NOT NULL default '0',
+-                    `alias` varchar(255) NOT NULL default '',
+-                    PRIMARY KEY  (`timeperiod_id`),
+-                    UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`timeperiod_object_id`)
+-                  ) ENGINE=InnoDB COMMENT='Timeperiod definitions';";
++        $sql[] = "
++                      CREATE TABLE IF NOT EXISTS `npc_timeperiods` (
++                        `timeperiod_id` int(11) NOT NULL auto_increment,
++                        `instance_id` smallint(6) NOT NULL default '0',
++                        `config_type` smallint(6) NOT NULL default '0',
++                        `timeperiod_object_id` int(11) NOT NULL default '0',
++                        `alias` varchar(255) character set latin1 NOT NULL default '',
++                        PRIMARY KEY  (`timeperiod_id`),
++                        UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`timeperiod_object_id`)
++                      ) ENGINE=MyISAM  COMMENT='Timeperiod definitions';
++              ";
+     }
++      // Cacti only: npc_service_graphs
+     if (!in_array('npc_service_graphs', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_service_graphs` (
+-                    `service_graph_id` int(11) NOT NULL auto_increment,
+-                    `service_object_id` int(11) NOT NULL,
+-                    `local_graph_id` mediumint(8) unsigned NOT NULL,
+-                    `pri` tinyint(1) default 1,
+-                    PRIMARY KEY  (`service_graph_id`),
+-                    KEY `idx1` (`service_object_id`)
+-                  ) ENGINE=InnoDB;";
++        $sql[] = "
++                      CREATE TABLE `npc_service_graphs` (
++                              `service_graph_id` int(11) NOT NULL auto_increment,
++                              `service_object_id` int(11) NOT NULL,
++                              `local_graph_id` mediumint(8) unsigned NOT NULL,
++                              `pri` tinyint(1) default 1,
++                              PRIMARY KEY  (`service_graph_id`),
++                              KEY `idx1` (`service_object_id`)
++                  ) ENGINE=MyISAM;
++              ";
+     }
++      // Cacti only: npc_host_graphs
+     if (!in_array('npc_host_graphs', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_host_graphs` (
+-                    `host_graph_id` int(11) NOT NULL auto_increment,
+-                    `host_object_id` int(11) NOT NULL,
+-                    `local_graph_id` mediumint(8) unsigned NOT NULL,
+-                    `pri` tinyint(1) default 1,
+-                    PRIMARY KEY  (`host_graph_id`),
+-                    KEY `idx1` (`host_object_id`)
+-                  ) ENGINE=InnoDB;";
++        $sql[] = "
++                      CREATE TABLE `npc_host_graphs` (
++                              `host_graph_id` int(11) NOT NULL auto_increment,
++                              `host_object_id` int(11) NOT NULL,
++                              `local_graph_id` mediumint(8) unsigned NOT NULL,
++                              `pri` tinyint(1) default 1,
++                              PRIMARY KEY  (`host_graph_id`),
++                              KEY `idx1` (`host_object_id`)
++                      ) ENGINE=MyISAM;
++              ";
+     }
++      // Cacti only: npc_settings
+     if (!in_array('npc_settings', $tables)) {
+-        $sql[] = "CREATE TABLE `npc_settings` (
+-                    `user_id` mediumint(8) unsigned NOT NULL,
+-                    `settings` text default null,
+-                    PRIMARY KEY  (`user_id`)
+-                  ) ENGINE=InnoDB COMMENT='NPC user settings';";
+-    } else {
+-
++        $sql[] = "
++                      CREATE TABLE `npc_settings` (
++                              `user_id` mediumint(8) unsigned NOT NULL,
++                              `settings` text default null,
++                              PRIMARY KEY  (`user_id`)
++                      ) ENGINE=MyISAM COMMENT='NPC user settings';
++              ";
+     }
+     if (!empty($sql)) {
+-        for ($a = 0; $a < count($sql); $a++) {
+-             $result = db_execute($sql[$a]);
++              foreach ($sql as $query) {
++             db_execute($query);
+         }
+    }
+ }
+@@ -1477,7 +1661,7 @@
+     global $config;
+     if (isset($_SESSION["sess_user_id"])) {
+-  
++
+         $user_id = $_SESSION["sess_user_id"];
+         $npc_realm = db_fetch_cell("SELECT id FROM plugin_config WHERE directory = 'npc'");
+@@ -1488,8 +1672,8 @@
+                 $cp = false;
+                 if (basename($_SERVER["PHP_SELF"]) == "npc.php") { $cp = true; }
+-                print '<a href="' . $config['url_path'] . 'plugins/npc/npc.php"><img src="' 
+-                     . $config['url_path'] . 'plugins/npc/images/tab_npc' 
++                print '<a href="' . $config['url_path'] . 'plugins/npc/npc.php"><img src="'
++                     . $config['url_path'] . 'plugins/npc/images/tab_npc'
+                      . ($cp ? "_down": "") . '.gif" alt="npc" align="absmiddle" border="0"></a>';
+             }
+         }
+@@ -1502,7 +1686,7 @@
+     global $npc_config_type;
+     if (isset($_SESSION["sess_user_id"])) {
+-  
++
+         $user_id = $_SESSION["sess_user_id"];
+         $npc_realm = db_fetch_cell("SELECT id FROM plugin_config WHERE directory = 'npc'");
+@@ -1516,10 +1700,10 @@
+             //npc_upgrade_tables ();
+             // Add a new realm
+-            if ($old_npc_version != '2.0.2' || $old_npc_version != '2.0.3') { 
++            if ($old_npc_version != '2.0.2' || $old_npc_version != '2.0.3') {
+                 api_plugin_register_realm ('npc', 'npc1.php', 'NPC Global Commands', 1);
+             }
+-        
++
+             // Reset stored cookie values.
+             db_execute("DELETE FROM npc_settings");
+@@ -1562,7 +1746,7 @@
+                     "description" => "The path to the Nagios command file (nagios.cmd).",
+                     "method" => "textbox",
+                     "max_length" => 255,
+-                ),  
++                ),
+                 "npc_nagios_url" => array(
+                     "friendly_name" => "Nagios URL",
+                     "description" => "The full URL to your Nagios installation (http://nagios.company.com/nagios/)",
This page took 0.421095 seconds and 4 git commands to generate.