[packages/cacti-plugin-npc] upgrade ndoutils schema to 1.5.2

glen glen at pld-linux.org
Sun Nov 25 23:00:10 CET 2012


commit 425587bfc03fa4ea8e3a9eb0aae66907dbea3f00
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sun Nov 25 23:50:23 2012 +0200

    upgrade ndoutils schema to 1.5.2

 cacti-plugin-npc.spec |   12 +-
 ndoutils-1.5.patch    | 2393 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 2402 insertions(+), 3 deletions(-)
---
diff --git a/cacti-plugin-npc.spec b/cacti-plugin-npc.spec
index 5979e7f..f9f0c1b 100644
--- a/cacti-plugin-npc.spec
+++ b/cacti-plugin-npc.spec
@@ -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
index 0000000..6928a85
--- /dev/null
+++ b/ndoutils-1.5.patch
@@ -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/)",
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/cacti-plugin-npc.git/commitdiff/c62cdf775f27af84db1cdd69a9d6ef43b6a4a4e0




More information about the pld-cvs-commit mailing list