]> git.pld-linux.org Git - packages/cacti-plugin-npc.git/blame - ndoutils-1.5.patch
- typo
[packages/cacti-plugin-npc.git] / ndoutils-1.5.patch
CommitLineData
425587bf
ER
1upgrade schema to ndoutils-1.5.2
2
3- took the table structure from /usr/share/ndoutils/mysql.sql
4- merged indexes from npc/upgrade_schema.sql
5- some indexes are still questionable
6- three tables are cacti-only:
7 * npc_service_graphs
8 * npc_host_graphs
9 * npc_settings
10- mysql table type changed (back to) MyISAM
11- latin1 charset enforcing on tables, seems wrong (fix it in ndoutils?)
12
13--- cacti-plugin-npc-2.0.4/npc/setup.php 2012-11-25 16:32:50.264148508 +0200
14+++ plugins/npc/setup.php 2012-11-25 23:44:50.785915818 +0200
15@@ -307,1168 +307,1352 @@
16 }
17 }
18
19+
20+ // Add some default values
21+ $sql[] = "INSERT IGNORE INTO settings VALUES ('npc_date_format','Y-m-d');";
22+ $sql[] = "INSERT IGNORE INTO settings VALUES ('npc_time_format','H:i');";
23+ $sql[] = "INSERT IGNORE INTO settings VALUES ('npc_log_level','0');";
24+
25 if (!in_array('npc_acknowledgements', $tables)) {
26- $sql[] = "CREATE TABLE `npc_acknowledgements` (
27- `acknowledgement_id` int(11) NOT NULL auto_increment,
28- `instance_id` smallint(6) NOT NULL default '0',
29- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
30- `entry_time_usec` int(11) NOT NULL default '0',
31- `acknowledgement_type` smallint(6) NOT NULL default '0',
32- `object_id` int(11) NOT NULL default '0',
33- `state` smallint(6) NOT NULL default '0',
34- `author_name` varchar(64) NOT NULL default '',
35- `comment_data` varchar(255) NOT NULL default '',
36- `is_sticky` smallint(6) NOT NULL default '0',
37- `persistent_comment` smallint(6) NOT NULL default '0',
38- `notify_contacts` smallint(6) NOT NULL default '0',
39- PRIMARY KEY (`acknowledgement_id`)
40- ) ENGINE=InnoDB COMMENT='Current and historical host and service acknowledgements';";
41-
42- // Add some default values
43- $sql[] = "INSERT INTO settings VALUES ('npc_date_format','Y-m-d');";
44- $sql[] = "INSERT INTO settings VALUES ('npc_time_format','H:i');";
45- $sql[] = "INSERT INTO settings VALUES ('npc_log_level','0');";
46+ $sql[] = "
c62cdf77 47+ CREATE TABLE IF NOT EXISTS `npc_acknowledgements` (
425587bf
ER
48+ `acknowledgement_id` int(11) NOT NULL auto_increment,
49+ `instance_id` smallint(6) NOT NULL default '0',
50+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
51+ `entry_time_usec` int(11) NOT NULL default '0',
52+ `acknowledgement_type` smallint(6) NOT NULL default '0',
53+ `object_id` int(11) NOT NULL default '0',
54+ `state` smallint(6) NOT NULL default '0',
55+ `author_name` varchar(64) character set latin1 NOT NULL default '',
56+ `comment_data` varchar(255) character set latin1 NOT NULL default '',
57+ `is_sticky` smallint(6) NOT NULL default '0',
58+ `persistent_comment` smallint(6) NOT NULL default '0',
59+ `notify_contacts` smallint(6) NOT NULL default '0',
60+ PRIMARY KEY (`acknowledgement_id`)
61+ ) ENGINE=MyISAM COMMENT='Current and historical host and service acknowledgements';
62+ ";
63 }
64
65 if (!in_array('npc_commands', $tables)) {
66- $sql[] = "CREATE TABLE `npc_commands` (
67- `command_id` int(11) NOT NULL auto_increment,
68- `instance_id` smallint(6) NOT NULL default '0',
69- `config_type` smallint(6) NOT NULL default '0',
70- `object_id` int(11) NOT NULL default '0',
71- `command_line` varchar(255) NOT NULL default '',
72- PRIMARY KEY (`command_id`),
73- UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`config_type`)
74- ) ENGINE=InnoDB COMMENT='Command definitions';";
75+ $sql[] = "
76+ CREATE TABLE IF NOT EXISTS `npc_commands` (
77+ `command_id` int(11) NOT NULL auto_increment,
78+ `instance_id` smallint(6) NOT NULL default '0',
79+ `config_type` smallint(6) NOT NULL default '0',
80+ `object_id` int(11) NOT NULL default '0',
81+ `command_line` varchar(255) character set latin1 NOT NULL default '',
82+ PRIMARY KEY (`command_id`),
83+ UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`config_type`)
84+ ) ENGINE=MyISAM COMMENT='Command definitions';
85+ ";
86 }
87
88 if (!in_array('npc_commenthistory', $tables)) {
89- $sql[] = "CREATE TABLE `npc_commenthistory` (
90- `commenthistory_id` int(11) NOT NULL auto_increment,
91- `instance_id` smallint(6) NOT NULL default '0',
92- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
93- `entry_time_usec` int(11) NOT NULL default '0',
94- `comment_type` smallint(6) NOT NULL default '0',
95- `entry_type` smallint(6) NOT NULL default '0',
96- `object_id` int(11) NOT NULL default '0',
97- `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
98- `internal_comment_id` int(11) NOT NULL default '0',
99- `author_name` varchar(64) NOT NULL default '',
100- `comment_data` varchar(255) NOT NULL default '',
101- `is_persistent` smallint(6) NOT NULL default '0',
102- `comment_source` smallint(6) NOT NULL default '0',
103- `expires` smallint(6) NOT NULL default '0',
104- `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
105- `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
106- `deletion_time_usec` int(11) NOT NULL default '0',
107- PRIMARY KEY (`commenthistory_id`),
108- UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`),
109- KEY `idx_internal_comment_id` (`internal_comment_id`)
110- ) ENGINE=InnoDB COMMENT='Historical host and service comments';";
111+ $sql[] = "
112+ CREATE TABLE IF NOT EXISTS `npc_commenthistory` (
113+ `commenthistory_id` int(11) NOT NULL auto_increment,
114+ `instance_id` smallint(6) NOT NULL default '0',
115+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
116+ `entry_time_usec` int(11) NOT NULL default '0',
117+ `comment_type` smallint(6) NOT NULL default '0',
118+ `entry_type` smallint(6) NOT NULL default '0',
119+ `object_id` int(11) NOT NULL default '0',
120+ `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
121+ `internal_comment_id` int(11) NOT NULL default '0',
122+ `author_name` varchar(64) character set latin1 NOT NULL default '',
123+ `comment_data` varchar(255) character set latin1 NOT NULL default '',
124+ `is_persistent` smallint(6) NOT NULL default '0',
125+ `comment_source` smallint(6) NOT NULL default '0',
126+ `expires` smallint(6) NOT NULL default '0',
127+ `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
128+ `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
129+ `deletion_time_usec` int(11) NOT NULL default '0',
130+ PRIMARY KEY (`commenthistory_id`),
131+ UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`)
132+ ) ENGINE=MyISAM COMMENT='Historical host and service comments';
133+ ";
134 }
135
136 if (!in_array('npc_comments', $tables)) {
137- $sql[] = "CREATE TABLE `npc_comments` (
138- `comment_id` int(11) NOT NULL auto_increment,
139- `instance_id` smallint(6) NOT NULL default '0',
140- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
141- `entry_time_usec` int(11) NOT NULL default '0',
142- `comment_type` smallint(6) NOT NULL default '0',
143- `entry_type` smallint(6) NOT NULL default '0',
144- `object_id` int(11) NOT NULL default '0',
145- `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
146- `internal_comment_id` int(11) NOT NULL default '0',
147- `author_name` varchar(64) NOT NULL default '',
148- `comment_data` varchar(255) NOT NULL default '',
149- `is_persistent` smallint(6) NOT NULL default '0',
150- `comment_source` smallint(6) NOT NULL default '0',
151- `expires` smallint(6) NOT NULL default '0',
152- `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
153- PRIMARY KEY (`comment_id`),
154- UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`),
155- KEY `idx1` (`object_id`)
156- ) ENGINE=InnoDB;";
157+ $sql[] = "
158+ CREATE TABLE IF NOT EXISTS `npc_comments` (
159+ `comment_id` int(11) NOT NULL auto_increment,
160+ `instance_id` smallint(6) NOT NULL default '0',
161+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
162+ `entry_time_usec` int(11) NOT NULL default '0',
163+ `comment_type` smallint(6) NOT NULL default '0',
164+ `entry_type` smallint(6) NOT NULL default '0',
165+ `object_id` int(11) NOT NULL default '0',
166+ `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
167+ `internal_comment_id` int(11) NOT NULL default '0',
168+ `author_name` varchar(64) character set latin1 NOT NULL default '',
169+ `comment_data` varchar(255) character set latin1 NOT NULL default '',
170+ `is_persistent` smallint(6) NOT NULL default '0',
171+ `comment_source` smallint(6) NOT NULL default '0',
172+ `expires` smallint(6) NOT NULL default '0',
173+ `expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
174+ PRIMARY KEY (`comment_id`),
175+ UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`)
176+ ) ENGINE=MyISAM ;
177+ ";
178+ $sql[] = "CREATE INDEX idx1 ON npc_comments(object_id);";
179 }
180
181 if (!in_array('npc_configfiles', $tables)) {
182- $sql[] = "CREATE TABLE `npc_configfiles` (
183- `configfile_id` int(11) NOT NULL auto_increment,
184- `instance_id` smallint(6) NOT NULL default '0',
185- `configfile_type` smallint(6) NOT NULL default '0',
186- `configfile_path` varchar(255) NOT NULL default '',
187- PRIMARY KEY (`configfile_id`),
188- UNIQUE KEY `instance_id` (`instance_id`,`configfile_type`,`configfile_path`)
189- ) ENGINE=InnoDB COMMENT='Configuration files';";
190+ $sql[] = "
191+ CREATE TABLE IF NOT EXISTS `nagios_configfiles` (
192+ `configfile_id` int(11) NOT NULL auto_increment,
193+ `instance_id` smallint(6) NOT NULL default '0',
194+ `configfile_type` smallint(6) NOT NULL default '0',
195+ `configfile_path` varchar(255) character set latin1 NOT NULL default '',
196+ PRIMARY KEY (`configfile_id`),
197+ UNIQUE KEY `instance_id` (`instance_id`,`configfile_type`,`configfile_path`)
198+ ) ENGINE=MyISAM COMMENT='Configuration files';
199+ ";
200 }
201
202 if (!in_array('npc_configfilevariables', $tables)) {
203- $sql[] = "CREATE TABLE `npc_configfilevariables` (
204- `configfilevariable_id` int(11) NOT NULL auto_increment,
205- `instance_id` smallint(6) NOT NULL default '0',
206- `configfile_id` int(11) NOT NULL default '0',
207- `varname` varchar(64) NOT NULL default '',
208- `varvalue` varchar(255) NOT NULL default '',
209- PRIMARY KEY (`configfilevariable_id`),
210- KEY `instance_id` (`instance_id`,`configfile_id`)
211- ) ENGINE=InnoDB COMMENT='Configuration file variables';";
212+ $sql[] = "
213+ CREATE TABLE IF NOT EXISTS `nagios_configfilevariables` (
214+ `configfilevariable_id` int(11) NOT NULL auto_increment,
215+ `instance_id` smallint(6) NOT NULL default '0',
216+ `configfile_id` int(11) NOT NULL default '0',
217+ `varname` varchar(64) character set latin1 NOT NULL default '',
218+ `varvalue` varchar(255) character set latin1 NOT NULL default '',
219+ PRIMARY KEY (`configfilevariable_id`)
220+ ) ENGINE=MyISAM COMMENT='Configuration file variables';
221+ ";
222+ // TODO? $sql[] = "KEY `instance_id` (`instance_id`,`configfile_id`";
223 }
224
225 if (!in_array('npc_conninfo', $tables)) {
226- $sql[] = "CREATE TABLE `npc_conninfo` (
227- `conninfo_id` int(11) NOT NULL auto_increment,
228- `instance_id` smallint(6) NOT NULL default '0',
229- `agent_name` varchar(32) NOT NULL default '',
230- `agent_version` varchar(8) NOT NULL default '',
231- `disposition` varchar(16) NOT NULL default '',
232- `connect_source` varchar(16) NOT NULL default '',
233- `connect_type` varchar(16) NOT NULL default '',
234- `connect_time` datetime NOT NULL default '0000-00-00 00:00:00',
235- `disconnect_time` datetime NOT NULL default '0000-00-00 00:00:00',
236- `last_checkin_time` datetime NOT NULL default '0000-00-00 00:00:00',
237- `data_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
238- `data_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
239- `bytes_processed` int(11) NOT NULL default '0',
240- `lines_processed` int(11) NOT NULL default '0',
241- `entries_processed` int(11) NOT NULL default '0',
242- PRIMARY KEY (`conninfo_id`)
243- ) ENGINE=InnoDB COMMENT='NDO2DB daemon connection information';";
244+ $sql[] = "
245+
246+ CREATE TABLE IF NOT EXISTS `nagios_conninfo` (
247+ `conninfo_id` int(11) NOT NULL auto_increment,
248+ `instance_id` smallint(6) NOT NULL default '0',
249+ `agent_name` varchar(32) character set latin1 NOT NULL default '',
250+ `agent_version` varchar(8) character set latin1 NOT NULL default '',
251+ `disposition` varchar(16) character set latin1 NOT NULL default '',
252+ `connect_source` varchar(16) character set latin1 NOT NULL default '',
253+ `connect_type` varchar(16) character set latin1 NOT NULL default '',
254+ `connect_time` datetime NOT NULL default '0000-00-00 00:00:00',
255+ `disconnect_time` datetime NOT NULL default '0000-00-00 00:00:00',
256+ `last_checkin_time` datetime NOT NULL default '0000-00-00 00:00:00',
257+ `data_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
258+ `data_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
259+ `bytes_processed` int(11) NOT NULL default '0',
260+ `lines_processed` int(11) NOT NULL default '0',
261+ `entries_processed` int(11) NOT NULL default '0',
262+ PRIMARY KEY (`conninfo_id`)
263+ ) ENGINE=MyISAM COMMENT='NDO2DB daemon connection information';
264+ ";
265 }
266
267 if (!in_array('npc_contact_addresses', $tables)) {
268- $sql[] = "CREATE TABLE `npc_contact_addresses` (
269- `contact_address_id` int(11) NOT NULL auto_increment,
270- `instance_id` smallint(6) NOT NULL default '0',
271- `contact_id` int(11) NOT NULL default '0',
272- `address_number` smallint(6) NOT NULL default '0',
273- `address` varchar(255) NOT NULL default '',
274- PRIMARY KEY (`contact_address_id`),
275- UNIQUE KEY `contact_id` (`contact_id`,`address_number`)
276- ) ENGINE=InnoDB COMMENT='Contact addresses';";
277+ $sql[] = "
278+ CREATE TABLE IF NOT EXISTS `npc_contact_addresses` (
279+ `contact_address_id` int(11) NOT NULL auto_increment,
280+ `instance_id` smallint(6) NOT NULL default '0',
281+ `contact_id` int(11) NOT NULL default '0',
282+ `address_number` smallint(6) NOT NULL default '0',
283+ `address` varchar(255) character set latin1 NOT NULL default '',
284+ PRIMARY KEY (`contact_address_id`),
285+ UNIQUE KEY `contact_id` (`contact_id`,`address_number`)
286+ ) ENGINE=MyISAM COMMENT='Contact addresses';
287+ ";
288 }
289
290 if (!in_array('npc_contact_notificationcommands', $tables)) {
291- $sql[] = "CREATE TABLE `npc_contact_notificationcommands` (
292- `contact_notificationcommand_id` int(11) NOT NULL auto_increment,
293- `instance_id` smallint(6) NOT NULL default '0',
294- `contact_id` int(11) NOT NULL default '0',
295- `notification_type` smallint(6) NOT NULL default '0',
296- `command_object_id` int(11) NOT NULL default '0',
297- `command_args` varchar(255) NOT NULL default '',
298- PRIMARY KEY (`contact_notificationcommand_id`),
299- UNIQUE KEY `contact_id` (`contact_id`,`notification_type`,`command_object_id`,`command_args`)
300- ) ENGINE=InnoDB COMMENT='Contact host and service notification commands';";
301+ $sql[] = "
302+ CREATE TABLE IF NOT EXISTS `npc_contact_notificationcommands` (
303+ `contact_notificationcommand_id` int(11) NOT NULL auto_increment,
304+ `instance_id` smallint(6) NOT NULL default '0',
305+ `contact_id` int(11) NOT NULL default '0',
306+ `notification_type` smallint(6) NOT NULL default '0',
307+ `command_object_id` int(11) NOT NULL default '0',
308+ `command_args` varchar(255) character set latin1 NOT NULL default '',
309+ PRIMARY KEY (`contact_notificationcommand_id`),
310+ UNIQUE KEY `contact_id` (`contact_id`,`notification_type`,`command_object_id`,`command_args`)
311+ ) ENGINE=MyISAM COMMENT='Contact host and service notification commands';
312+ ";
313 }
314
315 if (!in_array('npc_contactgroup_members', $tables)) {
316- $sql[] = "CREATE TABLE `npc_contactgroup_members` (
317- `contactgroup_member_id` int(11) NOT NULL auto_increment,
318- `instance_id` smallint(6) NOT NULL default '0',
319- `contactgroup_id` int(11) NOT NULL default '0',
320- `contact_object_id` int(11) NOT NULL default '0',
321- PRIMARY KEY (`contactgroup_member_id`),
322- UNIQUE KEY `instance_id` (`contactgroup_id`,`contact_object_id`)
323- ) ENGINE=InnoDB COMMENT='Contactgroup members';";
324+ $sql[] = "
325+ CREATE TABLE IF NOT EXISTS `npc_contactgroup_members` (
326+ `contactgroup_member_id` int(11) NOT NULL auto_increment,
327+ `instance_id` smallint(6) NOT NULL default '0',
328+ `contactgroup_id` int(11) NOT NULL default '0',
329+ `contact_object_id` int(11) NOT NULL default '0',
330+ PRIMARY KEY (`contactgroup_member_id`),
331+ UNIQUE KEY `instance_id` (`contactgroup_id`,`contact_object_id`)
332+ ) ENGINE=MyISAM COMMENT='Contactgroup members';
333+ ";
334 }
335
336 if (!in_array('npc_contactgroups', $tables)) {
337- $sql[] = "CREATE TABLE `npc_contactgroups` (
338- `contactgroup_id` int(11) NOT NULL auto_increment,
339- `instance_id` smallint(6) NOT NULL default '0',
340- `config_type` smallint(6) NOT NULL default '0',
341- `contactgroup_object_id` int(11) NOT NULL default '0',
342- `alias` varchar(255) NOT NULL default '',
343- PRIMARY KEY (`contactgroup_id`),
344- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contactgroup_object_id`)
345- ) ENGINE=InnoDB COMMENT='Contactgroup definitions';";
346+ $sql[] = "
347+
348+ CREATE TABLE IF NOT EXISTS `npc_contactgroups` (
349+ `contactgroup_id` int(11) NOT NULL auto_increment,
350+ `instance_id` smallint(6) NOT NULL default '0',
351+ `config_type` smallint(6) NOT NULL default '0',
352+ `contactgroup_object_id` int(11) NOT NULL default '0',
353+ `alias` varchar(255) character set latin1 NOT NULL default '',
354+ PRIMARY KEY (`contactgroup_id`),
355+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contactgroup_object_id`)
356+ ) ENGINE=MyISAM COMMENT='Contactgroup definitions';
357+ ";
358 }
359
360 if (!in_array('npc_contactnotificationmethods', $tables)) {
361- $sql[] = "CREATE TABLE `npc_contactnotificationmethods` (
362- `contactnotificationmethod_id` int(11) NOT NULL auto_increment,
363- `instance_id` smallint(6) NOT NULL default '0',
364- `contactnotification_id` int(11) NOT NULL default '0',
365- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
366- `start_time_usec` int(11) NOT NULL default '0',
367- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
368- `end_time_usec` int(11) NOT NULL default '0',
369- `command_object_id` int(11) NOT NULL default '0',
370- `command_args` varchar(255) NOT NULL default '',
371- PRIMARY KEY (`contactnotificationmethod_id`),
372- UNIQUE KEY `instance_id` (`instance_id`,`contactnotification_id`,`start_time`,`start_time_usec`)
373- ) ENGINE=InnoDB COMMENT='Historical record of contact notification methods';";
374+ $sql[] = "
375+ CREATE TABLE IF NOT EXISTS `npc_contactnotificationmethods` (
376+ `contactnotificationmethod_id` int(11) NOT NULL auto_increment,
377+ `instance_id` smallint(6) NOT NULL default '0',
378+ `contactnotification_id` int(11) NOT NULL default '0',
379+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
380+ `start_time_usec` int(11) NOT NULL default '0',
381+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
382+ `end_time_usec` int(11) NOT NULL default '0',
383+ `command_object_id` int(11) NOT NULL default '0',
384+ `command_args` varchar(255) character set latin1 NOT NULL default '',
385+ PRIMARY KEY (`contactnotificationmethod_id`),
386+ UNIQUE KEY `instance_id` (`instance_id`,`contactnotification_id`,`start_time`,`start_time_usec`)
387+ ) ENGINE=MyISAM COMMENT='Historical record of contact notification methods';
388+ ";
389 }
390
391 if (!in_array('npc_contactnotifications', $tables)) {
392- $sql[] = "CREATE TABLE `npc_contactnotifications` (
393- `contactnotification_id` int(11) NOT NULL auto_increment,
394- `instance_id` smallint(6) NOT NULL default '0',
395- `notification_id` int(11) NOT NULL default '0',
396- `contact_object_id` int(11) NOT NULL default '0',
397- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
398- `start_time_usec` int(11) NOT NULL default '0',
399- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
400- `end_time_usec` int(11) NOT NULL default '0',
401- PRIMARY KEY (`contactnotification_id`),
402- UNIQUE KEY `instance_id` (`instance_id`,`contact_object_id`,`start_time`,`start_time_usec`)
403- ) ENGINE=InnoDB COMMENT='Historical record of contact notifications';";
404+ $sql[] = "
405+ CREATE TABLE IF NOT EXISTS `npc_contactnotifications` (
406+ `contactnotification_id` int(11) NOT NULL auto_increment,
407+ `instance_id` smallint(6) NOT NULL default '0',
408+ `notification_id` int(11) NOT NULL default '0',
409+ `contact_object_id` int(11) NOT NULL default '0',
410+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
411+ `start_time_usec` int(11) NOT NULL default '0',
412+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
413+ `end_time_usec` int(11) NOT NULL default '0',
414+ PRIMARY KEY (`contactnotification_id`),
415+ UNIQUE KEY `instance_id` (`instance_id`,`contact_object_id`,`start_time`,`start_time_usec`)
416+ ) ENGINE=MyISAM COMMENT='Historical record of contact notifications';
417+ ";
418 }
419
420 if (!in_array('npc_contacts', $tables)) {
421- $sql[] = "CREATE TABLE `npc_contacts` (
422- `contact_id` int(11) NOT NULL auto_increment,
423- `instance_id` smallint(6) NOT NULL default '0',
424- `config_type` smallint(6) NOT NULL default '0',
425- `contact_object_id` int(11) NOT NULL default '0',
426- `alias` varchar(64) NOT NULL default '',
427- `email_address` varchar(255) NOT NULL default '',
428- `pager_address` varchar(64) NOT NULL default '',
429- `host_timeperiod_object_id` int(11) NOT NULL default '0',
430- `service_timeperiod_object_id` int(11) NOT NULL default '0',
431- `host_notifications_enabled` smallint(6) NOT NULL default '0',
432- `service_notifications_enabled` smallint(6) NOT NULL default '0',
433- `can_submit_commands` smallint(6) NOT NULL default '0',
434- `notify_service_recovery` smallint(6) NOT NULL default '0',
435- `notify_service_warning` smallint(6) NOT NULL default '0',
436- `notify_service_unknown` smallint(6) NOT NULL default '0',
437- `notify_service_critical` smallint(6) NOT NULL default '0',
438- `notify_service_flapping` smallint(6) NOT NULL default '0',
439- `notify_service_downtime` smallint(6) NOT NULL default '0',
440- `notify_host_recovery` smallint(6) NOT NULL default '0',
441- `notify_host_down` smallint(6) NOT NULL default '0',
442- `notify_host_unreachable` smallint(6) NOT NULL default '0',
443- `notify_host_flapping` smallint(6) NOT NULL default '0',
444- `notify_host_downtime` smallint(6) NOT NULL default '0',
445- PRIMARY KEY (`contact_id`),
446- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contact_object_id`)
447- ) ENGINE=InnoDB COMMENT='Contact definitions';";
448+ $sql[] = "
449+ CREATE TABLE IF NOT EXISTS `npc_contacts` (
450+ `contact_id` int(11) NOT NULL auto_increment,
451+ `instance_id` smallint(6) NOT NULL default '0',
452+ `config_type` smallint(6) NOT NULL default '0',
453+ `contact_object_id` int(11) NOT NULL default '0',
454+ `alias` varchar(64) character set latin1 NOT NULL default '',
455+ `email_address` varchar(255) character set latin1 NOT NULL default '',
456+ `pager_address` varchar(64) character set latin1 NOT NULL default '',
457+ `host_timeperiod_object_id` int(11) NOT NULL default '0',
458+ `service_timeperiod_object_id` int(11) NOT NULL default '0',
459+ `host_notifications_enabled` smallint(6) NOT NULL default '0',
460+ `service_notifications_enabled` smallint(6) NOT NULL default '0',
461+ `can_submit_commands` smallint(6) NOT NULL default '0',
462+ `notify_service_recovery` smallint(6) NOT NULL default '0',
463+ `notify_service_warning` smallint(6) NOT NULL default '0',
464+ `notify_service_unknown` smallint(6) NOT NULL default '0',
465+ `notify_service_critical` smallint(6) NOT NULL default '0',
466+ `notify_service_flapping` smallint(6) NOT NULL default '0',
467+ `notify_service_downtime` smallint(6) NOT NULL default '0',
468+ `notify_host_recovery` smallint(6) NOT NULL default '0',
469+ `notify_host_down` smallint(6) NOT NULL default '0',
470+ `notify_host_unreachable` smallint(6) NOT NULL default '0',
471+ `notify_host_flapping` smallint(6) NOT NULL default '0',
472+ `notify_host_downtime` smallint(6) NOT NULL default '0',
473+ PRIMARY KEY (`contact_id`),
474+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contact_object_id`)
475+ ) ENGINE=MyISAM COMMENT='Contact definitions';
476+ ";
477 }
478
479 if (!in_array('npc_contactstatus', $tables)) {
480- $sql[] = "CREATE TABLE `npc_contactstatus` (
481- `contactstatus_id` int(11) NOT NULL auto_increment,
482- `instance_id` smallint(6) NOT NULL default '0',
483- `contact_object_id` int(11) NOT NULL default '0',
484- `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
485- `host_notifications_enabled` smallint(6) NOT NULL default '0',
486- `service_notifications_enabled` smallint(6) NOT NULL default '0',
487- `last_host_notification` datetime NOT NULL default '0000-00-00 00:00:00',
488- `last_service_notification` datetime NOT NULL default '0000-00-00 00:00:00',
489- `modified_attributes` int(11) NOT NULL default '0',
490- `modified_host_attributes` int(11) NOT NULL default '0',
491- `modified_service_attributes` int(11) NOT NULL default '0',
492- PRIMARY KEY (`contactstatus_id`),
493- UNIQUE KEY `contact_object_id` (`contact_object_id`)
494- ) ENGINE=InnoDB COMMENT='Contact status';";
495+ $sql[] = "
496+ CREATE TABLE IF NOT EXISTS `npc_contactstatus` (
497+ `contactstatus_id` int(11) NOT NULL auto_increment,
498+ `instance_id` smallint(6) NOT NULL default '0',
499+ `contact_object_id` int(11) NOT NULL default '0',
500+ `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
501+ `host_notifications_enabled` smallint(6) NOT NULL default '0',
502+ `service_notifications_enabled` smallint(6) NOT NULL default '0',
503+ `last_host_notification` datetime NOT NULL default '0000-00-00 00:00:00',
504+ `last_service_notification` datetime NOT NULL default '0000-00-00 00:00:00',
505+ `modified_attributes` int(11) NOT NULL default '0',
506+ `modified_host_attributes` int(11) NOT NULL default '0',
507+ `modified_service_attributes` int(11) NOT NULL default '0',
508+ PRIMARY KEY (`contactstatus_id`),
509+ UNIQUE KEY `contact_object_id` (`contact_object_id`)
510+ ) ENGINE=MyISAM COMMENT='Contact status';
511+ ";
512 }
513
514 if (!in_array('npc_customvariables', $tables)) {
515- $sql[] = "CREATE TABLE `npc_customvariables` (
516- `customvariable_id` int(11) NOT NULL auto_increment,
517- `instance_id` smallint(6) NOT NULL default '0',
518- `object_id` int(11) NOT NULL default '0',
519- `config_type` smallint(6) NOT NULL default '0',
520- `has_been_modified` smallint(6) NOT NULL default '0',
521- `varname` varchar(255) NOT NULL default '',
522- `varvalue` varchar(255) NOT NULL default '',
523- PRIMARY KEY (`customvariable_id`),
524- UNIQUE KEY `object_id_2` (`object_id`,`config_type`,`varname`),
525- KEY `varname` (`varname`)
526- ) ENGINE=InnoDB COMMENT='Custom variables';";
527+ $sql[] = "
528+ CREATE TABLE IF NOT EXISTS `npc_customvariables` (
529+ `customvariable_id` int(11) NOT NULL auto_increment,
530+ `instance_id` smallint(6) NOT NULL default '0',
531+ `object_id` int(11) NOT NULL default '0',
532+ `config_type` smallint(6) NOT NULL default '0',
533+ `has_been_modified` smallint(6) NOT NULL default '0',
534+ `varname` varchar(255) character set latin1 NOT NULL default '',
535+ `varvalue` varchar(255) character set latin1 NOT NULL default '',
536+ PRIMARY KEY (`customvariable_id`),
537+ UNIQUE KEY `object_id_2` (`object_id`,`config_type`,`varname`),
538+ KEY `varname` (`varname`)
539+ ) ENGINE=MyISAM COMMENT='Custom variables';
540+ ";
541 }
542
543 if (!in_array('npc_customvariablestatus', $tables)) {
544- $sql[] = "CREATE TABLE `npc_customvariablestatus` (
545- `customvariablestatus_id` int(11) NOT NULL auto_increment,
546- `instance_id` smallint(6) NOT NULL default '0',
547- `object_id` int(11) NOT NULL default '0',
548- `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
549- `has_been_modified` smallint(6) NOT NULL default '0',
550- `varname` varchar(255) NOT NULL default '',
551- `varvalue` varchar(255) NOT NULL default '',
552- PRIMARY KEY (`customvariablestatus_id`),
553- UNIQUE KEY `object_id_2` (`object_id`,`varname`),
554- KEY `varname` (`varname`)
555- ) ENGINE=InnoDB COMMENT='Custom variable status information';";
556+ $sql[] = "
557+ CREATE TABLE IF NOT EXISTS `npc_customvariablestatus` (
558+ `customvariablestatus_id` int(11) NOT NULL auto_increment,
559+ `instance_id` smallint(6) NOT NULL default '0',
560+ `object_id` int(11) NOT NULL default '0',
561+ `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
562+ `has_been_modified` smallint(6) NOT NULL default '0',
563+ `varname` varchar(255) character set latin1 NOT NULL default '',
564+ `varvalue` varchar(255) character set latin1 NOT NULL default '',
565+ PRIMARY KEY (`customvariablestatus_id`),
566+ UNIQUE KEY `object_id_2` (`object_id`,`varname`),
567+ KEY `varname` (`varname`)
568+ ) ENGINE=MyISAM COMMENT='Custom variable status information';
569+ ";
570 }
571
572 if (!in_array('npc_dbversion', $tables)) {
573- $sql[] = "CREATE TABLE `npc_dbversion` (
574- `name` varchar(10) NOT NULL default '',
575- `version` varchar(10) NOT NULL default ''
576- ) ENGINE=InnoDB;";
577+ $sql[] = "
578+ CREATE TABLE IF NOT EXISTS `npc_dbversion` (
579+ `name` varchar(10) character set latin1 NOT NULL default '',
580+ `version` varchar(10) character set latin1 NOT NULL default ''
581+ ) ENGINE=MyISAM;
582+ ";
583 }
584
585 if (!in_array('npc_downtimehistory', $tables)) {
586- $sql[] = "CREATE TABLE `npc_downtimehistory` (
587- `downtimehistory_id` int(11) NOT NULL auto_increment,
588- `instance_id` smallint(6) NOT NULL default '0',
589- `downtime_type` smallint(6) NOT NULL default '0',
590- `object_id` int(11) NOT NULL default '0',
591- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
592- `author_name` varchar(64) NOT NULL default '',
593- `comment_data` varchar(255) NOT NULL default '',
594- `internal_downtime_id` int(11) NOT NULL default '0',
595- `triggered_by_id` int(11) NOT NULL default '0',
596- `is_fixed` smallint(6) NOT NULL default '0',
597- `duration` smallint(6) NOT NULL default '0',
598- `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
599- `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
600- `was_started` smallint(6) NOT NULL default '0',
601- `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
602- `actual_start_time_usec` int(11) NOT NULL default '0',
603- `actual_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
604- `actual_end_time_usec` int(11) NOT NULL default '0',
605- `was_cancelled` smallint(6) NOT NULL default '0',
606- PRIMARY KEY (`downtimehistory_id`),
607- UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
608- ) ENGINE=InnoDB COMMENT='Historical scheduled host and service downtime';";
609+ $sql[] = "
610+ CREATE TABLE IF NOT EXISTS `npc_downtimehistory` (
611+ `downtimehistory_id` int(11) NOT NULL auto_increment,
612+ `instance_id` smallint(6) NOT NULL default '0',
613+ `downtime_type` smallint(6) NOT NULL default '0',
614+ `object_id` int(11) NOT NULL default '0',
615+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
616+ `author_name` varchar(64) character set latin1 NOT NULL default '',
617+ `comment_data` varchar(255) character set latin1 NOT NULL default '',
618+ `internal_downtime_id` int(11) NOT NULL default '0',
619+ `triggered_by_id` int(11) NOT NULL default '0',
620+ `is_fixed` smallint(6) NOT NULL default '0',
621+ `duration` smallint(6) NOT NULL default '0',
622+ `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
623+ `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
624+ `was_started` smallint(6) NOT NULL default '0',
625+ `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
626+ `actual_start_time_usec` int(11) NOT NULL default '0',
627+ `actual_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
628+ `actual_end_time_usec` int(11) NOT NULL default '0',
629+ `was_cancelled` smallint(6) NOT NULL default '0',
630+ PRIMARY KEY (`downtimehistory_id`),
631+ UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
632+ ) ENGINE=MyISAM COMMENT='Historical scheduled host and service downtime';
633+ ";
634 }
635
636 if (!in_array('npc_eventhandlers', $tables)) {
637- $sql[] = "CREATE TABLE `npc_eventhandlers` (
638- `eventhandler_id` int(11) NOT NULL auto_increment,
639- `instance_id` smallint(6) NOT NULL default '0',
640- `eventhandler_type` smallint(6) NOT NULL default '0',
641- `object_id` int(11) NOT NULL default '0',
642- `state` smallint(6) NOT NULL default '0',
643- `state_type` smallint(6) NOT NULL default '0',
644- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
645- `start_time_usec` int(11) NOT NULL default '0',
646- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
647- `end_time_usec` int(11) NOT NULL default '0',
648- `command_object_id` int(11) NOT NULL default '0',
649- `command_args` varchar(255) NOT NULL default '',
650- `command_line` varchar(255) NOT NULL default '',
651- `timeout` smallint(6) NOT NULL default '0',
652- `early_timeout` smallint(6) NOT NULL default '0',
653- `execution_time` double NOT NULL default '0',
654- `return_code` smallint(6) NOT NULL default '0',
655- `output` varchar(255) NOT NULL default '',
656- PRIMARY KEY (`eventhandler_id`),
657- UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
658- ) ENGINE=InnoDB COMMENT='Historical host and service event handlers';";
659+ $sql[] = "
660+ CREATE TABLE IF NOT EXISTS `npc_eventhandlers` (
661+ `eventhandler_id` int(11) NOT NULL auto_increment,
662+ `instance_id` smallint(6) NOT NULL default '0',
663+ `eventhandler_type` smallint(6) NOT NULL default '0',
664+ `object_id` int(11) NOT NULL default '0',
665+ `state` smallint(6) NOT NULL default '0',
666+ `state_type` smallint(6) NOT NULL default '0',
667+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
668+ `start_time_usec` int(11) NOT NULL default '0',
669+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
670+ `end_time_usec` int(11) NOT NULL default '0',
671+ `command_object_id` int(11) NOT NULL default '0',
672+ `command_args` varchar(255) character set latin1 NOT NULL default '',
673+ `command_line` varchar(255) character set latin1 NOT NULL default '',
674+ `timeout` smallint(6) NOT NULL default '0',
675+ `early_timeout` smallint(6) NOT NULL default '0',
676+ `execution_time` double NOT NULL default '0',
677+ `return_code` smallint(6) NOT NULL default '0',
678+ `output` varchar(255) character set latin1 NOT NULL default '',
679+ `long_output` TEXT NOT NULL default '',
680+ PRIMARY KEY (`eventhandler_id`),
681+ UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
682+ ) ENGINE=MyISAM COMMENT='Historical host and service event handlers';
683+ ";
684 }
685
686 if (!in_array('npc_externalcommands', $tables)) {
687- $sql[] = "CREATE TABLE `npc_externalcommands` (
688- `externalcommand_id` int(11) NOT NULL auto_increment,
689- `instance_id` smallint(6) NOT NULL default '0',
690- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
691- `command_type` smallint(6) NOT NULL default '0',
692- `command_name` varchar(128) NOT NULL default '',
693- `command_args` varchar(255) NOT NULL default '',
694- PRIMARY KEY (`externalcommand_id`)
695- ) ENGINE=InnoDB COMMENT='Historical record of processed external commands';";
696+ $sql[] = "
697+ CREATE TABLE IF NOT EXISTS `npc_externalcommands` (
698+ `externalcommand_id` int(11) NOT NULL auto_increment,
699+ `instance_id` smallint(6) NOT NULL default '0',
700+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
701+ `command_type` smallint(6) NOT NULL default '0',
702+ `command_name` varchar(128) character set latin1 NOT NULL default '',
703+ `command_args` varchar(255) character set latin1 NOT NULL default '',
704+ PRIMARY KEY (`externalcommand_id`)
705+ ) ENGINE=MyISAM COMMENT='Historical record of processed external commands';
706+ ";
707 }
708
709 if (!in_array('npc_flappinghistory', $tables)) {
710- $sql[] = "CREATE TABLE `npc_flappinghistory` (
711- `flappinghistory_id` int(11) NOT NULL auto_increment,
712- `instance_id` smallint(6) NOT NULL default '0',
713- `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
714- `event_time_usec` int(11) NOT NULL default '0',
715- `event_type` smallint(6) NOT NULL default '0',
716- `reason_type` smallint(6) NOT NULL default '0',
717- `flapping_type` smallint(6) NOT NULL default '0',
718- `object_id` int(11) NOT NULL default '0',
719- `percent_state_change` double NOT NULL default '0',
720- `low_threshold` double NOT NULL default '0',
721- `high_threshold` double NOT NULL default '0',
722- `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
723- `internal_comment_id` int(11) NOT NULL default '0',
724- PRIMARY KEY (`flappinghistory_id`)
725- ) ENGINE=InnoDB COMMENT='Current and historical record of host and service flapping';";
726+ $sql[] = "
727+ CREATE TABLE IF NOT EXISTS `npc_flappinghistory` (
728+ `flappinghistory_id` int(11) NOT NULL auto_increment,
729+ `instance_id` smallint(6) NOT NULL default '0',
730+ `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
731+ `event_time_usec` int(11) NOT NULL default '0',
732+ `event_type` smallint(6) NOT NULL default '0',
733+ `reason_type` smallint(6) NOT NULL default '0',
734+ `flapping_type` smallint(6) NOT NULL default '0',
735+ `object_id` int(11) NOT NULL default '0',
736+ `percent_state_change` double NOT NULL default '0',
737+ `low_threshold` double NOT NULL default '0',
738+ `high_threshold` double NOT NULL default '0',
739+ `comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
740+ `internal_comment_id` int(11) NOT NULL default '0',
741+ PRIMARY KEY (`flappinghistory_id`)
742+ ) ENGINE=MyISAM COMMENT='Current and historical record of host and service flapping';
743+ ";
744 }
745
746 if (!in_array('npc_host_contactgroups', $tables)) {
747- $sql[] = "CREATE TABLE `npc_host_contactgroups` (
748- `host_contactgroup_id` int(11) NOT NULL auto_increment,
749- `instance_id` smallint(6) NOT NULL default '0',
750- `host_id` int(11) NOT NULL default '0',
751- `contactgroup_object_id` int(11) NOT NULL default '0',
752- PRIMARY KEY (`host_contactgroup_id`),
753- UNIQUE KEY `instance_id` (`host_id`,`contactgroup_object_id`)
754- ) ENGINE=InnoDB COMMENT='Host contact groups';";
755+ $sql[] = "
756+ CREATE TABLE IF NOT EXISTS `npc_host_contactgroups` (
757+ `host_contactgroup_id` int(11) NOT NULL auto_increment,
758+ `instance_id` smallint(6) NOT NULL default '0',
759+ `host_id` int(11) NOT NULL default '0',
760+ `contactgroup_object_id` int(11) NOT NULL default '0',
761+ PRIMARY KEY (`host_contactgroup_id`),
762+ UNIQUE KEY `instance_id` (`host_id`,`contactgroup_object_id`)
763+ ) ENGINE=MyISAM COMMENT='Host contact groups';
764+ ";
765 }
766
767 if (!in_array('npc_host_contacts', $tables)) {
768- $sql[] = "CREATE TABLE `npc_host_contacts` (
769- `host_contact_id` int(11) NOT NULL auto_increment,
770- `instance_id` smallint(6) NOT NULL default '0',
771- `host_id` int(11) NOT NULL default '0',
772- `contact_object_id` int(11) NOT NULL default '0',
773- PRIMARY KEY (`host_contact_id`),
774- UNIQUE KEY `instance_id` (`instance_id`,`host_id`,`contact_object_id`)
775- ) ENGINE=InnoDB;";
776+ $sql[] = "
777+ CREATE TABLE IF NOT EXISTS `npc_host_contacts` (
778+ `host_contact_id` int(11) NOT NULL auto_increment,
779+ `instance_id` smallint(6) NOT NULL default '0',
780+ `host_id` int(11) NOT NULL default '0',
781+ `contact_object_id` int(11) NOT NULL default '0',
782+ PRIMARY KEY (`host_contact_id`),
783+ UNIQUE KEY `instance_id` (`instance_id`,`host_id`,`contact_object_id`)
784+ ) ENGINE=MyISAM ;
785+ ";
786 }
787
788 if (!in_array('npc_host_parenthosts', $tables)) {
789- $sql[] = "CREATE TABLE `npc_host_parenthosts` (
790- `host_parenthost_id` int(11) NOT NULL auto_increment,
791- `instance_id` smallint(6) NOT NULL default '0',
792- `host_id` int(11) NOT NULL default '0',
793- `parent_host_object_id` int(11) NOT NULL default '0',
794- PRIMARY KEY (`host_parenthost_id`),
795- UNIQUE KEY `instance_id` (`host_id`,`parent_host_object_id`)
796- ) ENGINE=InnoDB COMMENT='Parent hosts';";
797+ $sql[] = "
798+ CREATE TABLE IF NOT EXISTS `npc_host_parenthosts` (
799+ `host_parenthost_id` int(11) NOT NULL auto_increment,
800+ `instance_id` smallint(6) NOT NULL default '0',
801+ `host_id` int(11) NOT NULL default '0',
802+ `parent_host_object_id` int(11) NOT NULL default '0',
803+ PRIMARY KEY (`host_parenthost_id`),
804+ UNIQUE KEY `instance_id` (`host_id`,`parent_host_object_id`)
805+ ) ENGINE=MyISAM COMMENT='Parent hosts';
806+ ";
807 }
808
809 if (!in_array('npc_hostchecks', $tables)) {
810- $sql[] = "CREATE TABLE `npc_hostchecks` (
811- `hostcheck_id` int(11) NOT NULL auto_increment,
812- `instance_id` smallint(6) NOT NULL default '0',
813- `host_object_id` int(11) NOT NULL default '0',
814- `check_type` smallint(6) NOT NULL default '0',
815- `is_raw_check` smallint(6) NOT NULL default '0',
816- `current_check_attempt` smallint(6) NOT NULL default '0',
817- `max_check_attempts` smallint(6) NOT NULL default '0',
818- `state` smallint(6) NOT NULL default '0',
819- `state_type` smallint(6) NOT NULL default '0',
820- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
821- `start_time_usec` int(11) NOT NULL default '0',
822- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
823- `end_time_usec` int(11) NOT NULL default '0',
824- `command_object_id` int(11) NOT NULL default '0',
825- `command_args` varchar(255) NOT NULL default '',
826- `command_line` varchar(255) NOT NULL default '',
827- `timeout` smallint(6) NOT NULL default '0',
828- `early_timeout` smallint(6) NOT NULL default '0',
829- `execution_time` double NOT NULL default '0',
830- `latency` double NOT NULL default '0',
831- `return_code` smallint(6) NOT NULL default '0',
832- `output` varchar(255) NOT NULL default '',
833- `perfdata` varchar(255) NOT NULL default '',
834- PRIMARY KEY (`hostcheck_id`),
835- UNIQUE KEY `instance_id` (`instance_id`,`host_object_id`,`start_time`,`start_time_usec`)
836- ) ENGINE=InnoDB COMMENT='Historical host checks';";
837+ $sql[] = "
838+ CREATE TABLE IF NOT EXISTS `npc_hostchecks` (
839+ `hostcheck_id` int(11) NOT NULL auto_increment,
840+ `instance_id` smallint(6) NOT NULL default '0',
841+ `host_object_id` int(11) NOT NULL default '0',
842+ `check_type` smallint(6) NOT NULL default '0',
843+ `is_raw_check` smallint(6) NOT NULL default '0',
844+ `current_check_attempt` smallint(6) NOT NULL default '0',
845+ `max_check_attempts` smallint(6) NOT NULL default '0',
846+ `state` smallint(6) NOT NULL default '0',
847+ `state_type` smallint(6) NOT NULL default '0',
848+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
849+ `start_time_usec` int(11) NOT NULL default '0',
850+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
851+ `end_time_usec` int(11) NOT NULL default '0',
852+ `command_object_id` int(11) NOT NULL default '0',
853+ `command_args` varchar(255) character set latin1 NOT NULL default '',
854+ `command_line` varchar(255) character set latin1 NOT NULL default '',
855+ `timeout` smallint(6) NOT NULL default '0',
856+ `early_timeout` smallint(6) NOT NULL default '0',
857+ `execution_time` double NOT NULL default '0',
858+ `latency` double NOT NULL default '0',
859+ `return_code` smallint(6) NOT NULL default '0',
860+ `output` varchar(255) character set latin1 NOT NULL default '',
861+ `long_output` TEXT NOT NULL default '',
862+ `perfdata` TEXT character set latin1 NOT NULL default '',
863+ PRIMARY KEY (`hostcheck_id`),
864+ UNIQUE KEY `instance_id` (`instance_id`,`host_object_id`,`start_time`,`start_time_usec`)
865+ ) ENGINE=MyISAM COMMENT='Historical host checks';
866+ ";
867 }
868
869 if (!in_array('npc_hostdependencies', $tables)) {
870- $sql[] = "CREATE TABLE `npc_hostdependencies` (
871- `hostdependency_id` int(11) NOT NULL auto_increment,
872- `instance_id` smallint(6) NOT NULL default '0',
873- `config_type` smallint(6) NOT NULL default '0',
874- `host_object_id` int(11) NOT NULL default '0',
875- `dependent_host_object_id` int(11) NOT NULL default '0',
876- `dependency_type` smallint(6) NOT NULL default '0',
877- `inherits_parent` smallint(6) NOT NULL default '0',
878- `timeperiod_object_id` int(11) NOT NULL default '0',
879- `fail_on_up` smallint(6) NOT NULL default '0',
880- `fail_on_down` smallint(6) NOT NULL default '0',
881- `fail_on_unreachable` smallint(6) NOT NULL default '0',
882- PRIMARY KEY (`hostdependency_id`),
883- 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`)
884- ) ENGINE=InnoDB COMMENT='Host dependency definitions';";
885+ $sql[] = "
886+ CREATE TABLE IF NOT EXISTS `npc_hostdependencies` (
887+ `hostdependency_id` int(11) NOT NULL auto_increment,
888+ `instance_id` smallint(6) NOT NULL default '0',
889+ `config_type` smallint(6) NOT NULL default '0',
890+ `host_object_id` int(11) NOT NULL default '0',
891+ `dependent_host_object_id` int(11) NOT NULL default '0',
892+ `dependency_type` smallint(6) NOT NULL default '0',
893+ `inherits_parent` smallint(6) NOT NULL default '0',
894+ `timeperiod_object_id` int(11) NOT NULL default '0',
895+ `fail_on_up` smallint(6) NOT NULL default '0',
896+ `fail_on_down` smallint(6) NOT NULL default '0',
897+ `fail_on_unreachable` smallint(6) NOT NULL default '0',
898+ PRIMARY KEY (`hostdependency_id`),
899+ 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`)
900+ ) ENGINE=MyISAM COMMENT='Host dependency definitions';
901+ ";
902 }
903
904 if (!in_array('npc_hostescalation_contactgroups', $tables)) {
905- $sql[] = "CREATE TABLE `npc_hostescalation_contactgroups` (
906- `hostescalation_contactgroup_id` int(11) NOT NULL auto_increment,
907- `instance_id` smallint(6) NOT NULL default '0',
908- `hostescalation_id` int(11) NOT NULL default '0',
909- `contactgroup_object_id` int(11) NOT NULL default '0',
910- PRIMARY KEY (`hostescalation_contactgroup_id`),
911- UNIQUE KEY `instance_id` (`hostescalation_id`,`contactgroup_object_id`)
912- ) ENGINE=InnoDB COMMENT='Host escalation contact groups';";
913+ $sql[] = "
914+ CREATE TABLE IF NOT EXISTS `npc_hostescalation_contactgroups` (
915+ `hostescalation_contactgroup_id` int(11) NOT NULL auto_increment,
916+ `instance_id` smallint(6) NOT NULL default '0',
917+ `hostescalation_id` int(11) NOT NULL default '0',
918+ `contactgroup_object_id` int(11) NOT NULL default '0',
919+ PRIMARY KEY (`hostescalation_contactgroup_id`),
920+ UNIQUE KEY `instance_id` (`hostescalation_id`,`contactgroup_object_id`)
921+ ) ENGINE=MyISAM COMMENT='Host escalation contact groups';
922+ ";
923 }
924
925 if (!in_array('npc_hostescalation_contacts', $tables)) {
926- $sql[] = "CREATE TABLE `npc_hostescalation_contacts` (
927- `hostescalation_contact_id` int(11) NOT NULL auto_increment,
928- `instance_id` smallint(6) NOT NULL default '0',
929- `hostescalation_id` int(11) NOT NULL default '0',
930- `contact_object_id` int(11) NOT NULL default '0',
931- PRIMARY KEY (`hostescalation_contact_id`),
932- UNIQUE KEY `instance_id` (`instance_id`,`hostescalation_id`,`contact_object_id`)
933- ) ENGINE=InnoDB;";
934+ $sql[] = "
935+ CREATE TABLE IF NOT EXISTS `npc_hostescalation_contacts` (
936+ `hostescalation_contact_id` int(11) NOT NULL auto_increment,
937+ `instance_id` smallint(6) NOT NULL default '0',
938+ `hostescalation_id` int(11) NOT NULL default '0',
939+ `contact_object_id` int(11) NOT NULL default '0',
940+ PRIMARY KEY (`hostescalation_contact_id`),
941+ UNIQUE KEY `instance_id` (`instance_id`,`hostescalation_id`,`contact_object_id`)
942+ ) ENGINE=MyISAM ;
943+ ";
944 }
945
946 if (!in_array('npc_hostescalations', $tables)) {
947- $sql[] = "CREATE TABLE `npc_hostescalations` (
948- `hostescalation_id` int(11) NOT NULL auto_increment,
949- `instance_id` smallint(6) NOT NULL default '0',
950- `config_type` smallint(6) NOT NULL default '0',
951- `host_object_id` int(11) NOT NULL default '0',
952- `timeperiod_object_id` int(11) NOT NULL default '0',
953- `first_notification` smallint(6) NOT NULL default '0',
954- `last_notification` smallint(6) NOT NULL default '0',
955- `notification_interval` double NOT NULL default '0',
956- `escalate_on_recovery` smallint(6) NOT NULL default '0',
957- `escalate_on_down` smallint(6) NOT NULL default '0',
958- `escalate_on_unreachable` smallint(6) NOT NULL default '0',
959- PRIMARY KEY (`hostescalation_id`),
960- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
961- ) ENGINE=InnoDB COMMENT='Host escalation definitions';";
962+ $sql[] = "
963+ CREATE TABLE IF NOT EXISTS `npc_hostescalations` (
964+ `hostescalation_id` int(11) NOT NULL auto_increment,
965+ `instance_id` smallint(6) NOT NULL default '0',
966+ `config_type` smallint(6) NOT NULL default '0',
967+ `host_object_id` int(11) NOT NULL default '0',
968+ `timeperiod_object_id` int(11) NOT NULL default '0',
969+ `first_notification` smallint(6) NOT NULL default '0',
970+ `last_notification` smallint(6) NOT NULL default '0',
971+ `notification_interval` double NOT NULL default '0',
972+ `escalate_on_recovery` smallint(6) NOT NULL default '0',
973+ `escalate_on_down` smallint(6) NOT NULL default '0',
974+ `escalate_on_unreachable` smallint(6) NOT NULL default '0',
975+ PRIMARY KEY (`hostescalation_id`),
976+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
977+ ) ENGINE=MyISAM COMMENT='Host escalation definitions';
978+ ";
979 }
980
981 if (!in_array('npc_hostgroup_members', $tables)) {
982- $sql[] = "CREATE TABLE `npc_hostgroup_members` (
983- `hostgroup_member_id` int(11) NOT NULL auto_increment,
984- `instance_id` smallint(6) NOT NULL default '0',
985- `hostgroup_id` int(11) NOT NULL default '0',
986- `host_object_id` int(11) NOT NULL default '0',
987- PRIMARY KEY (`hostgroup_member_id`),
988- UNIQUE KEY `instance_id` (`hostgroup_id`,`host_object_id`)
989- ) ENGINE=InnoDB COMMENT='Hostgroup members';";
990+ $sql[] = "
991+ CREATE TABLE IF NOT EXISTS `npc_hostgroup_members` (
992+ `hostgroup_member_id` int(11) NOT NULL auto_increment,
993+ `instance_id` smallint(6) NOT NULL default '0',
994+ `hostgroup_id` int(11) NOT NULL default '0',
995+ `host_object_id` int(11) NOT NULL default '0',
996+ PRIMARY KEY (`hostgroup_member_id`),
997+ UNIQUE KEY `instance_id` (`hostgroup_id`,`host_object_id`)
998+ ) ENGINE=MyISAM COMMENT='Hostgroup members';
999+ ";
1000 }
1001
1002 if (!in_array('npc_hostgroups', $tables)) {
1003- $sql[] = "CREATE TABLE `npc_hostgroups` (
1004- `hostgroup_id` int(11) NOT NULL auto_increment,
1005- `instance_id` smallint(6) NOT NULL default '0',
1006- `config_type` smallint(6) NOT NULL default '0',
1007- `hostgroup_object_id` int(11) NOT NULL default '0',
1008- `alias` varchar(255) NOT NULL default '',
1009- PRIMARY KEY (`hostgroup_id`),
1010- UNIQUE KEY `instance_id` (`instance_id`,`hostgroup_object_id`)
1011- ) ENGINE=InnoDB COMMENT='Hostgroup definitions';";
1012+ $sql[] = "
1013+ CREATE TABLE IF NOT EXISTS `npc_hostgroups` (
1014+ `hostgroup_id` int(11) NOT NULL auto_increment,
1015+ `instance_id` smallint(6) NOT NULL default '0',
1016+ `config_type` smallint(6) NOT NULL default '0',
1017+ `hostgroup_object_id` int(11) NOT NULL default '0',
1018+ `alias` varchar(255) character set latin1 NOT NULL default '',
1019+ PRIMARY KEY (`hostgroup_id`),
1020+ UNIQUE KEY `instance_id` (`instance_id`,`hostgroup_object_id`)
1021+ ) ENGINE=MyISAM COMMENT='Hostgroup definitions';
1022+ ";
1023 }
1024
1025 if (!in_array('npc_hosts', $tables)) {
1026- $sql[] = "CREATE TABLE `npc_hosts` (
1027- `host_id` int(11) NOT NULL auto_increment,
1028- `instance_id` smallint(6) NOT NULL default '0',
1029- `config_type` smallint(6) NOT NULL default '0',
1030- `host_object_id` int(11) NOT NULL default '0',
1031- `alias` varchar(64) NOT NULL default '',
1032- `display_name` varchar(64) NOT NULL default '',
1033- `address` varchar(128) NOT NULL default '',
1034- `check_command_object_id` int(11) NOT NULL default '0',
1035- `check_command_args` varchar(255) NOT NULL default '',
1036- `eventhandler_command_object_id` int(11) NOT NULL default '0',
1037- `eventhandler_command_args` varchar(255) NOT NULL default '',
1038- `notification_timeperiod_object_id` int(11) NOT NULL default '0',
1039- `check_timeperiod_object_id` int(11) NOT NULL default '0',
1040- `failure_prediction_options` varchar(64) NOT NULL default '',
1041- `check_interval` double NOT NULL default '0',
1042- `retry_interval` double NOT NULL default '0',
1043- `max_check_attempts` smallint(6) NOT NULL default '0',
1044- `first_notification_delay` double NOT NULL default '0',
1045- `notification_interval` double NOT NULL default '0',
1046- `notify_on_down` smallint(6) NOT NULL default '0',
1047- `notify_on_unreachable` smallint(6) NOT NULL default '0',
1048- `notify_on_recovery` smallint(6) NOT NULL default '0',
1049- `notify_on_flapping` smallint(6) NOT NULL default '0',
1050- `notify_on_downtime` smallint(6) NOT NULL default '0',
1051- `stalk_on_up` smallint(6) NOT NULL default '0',
1052- `stalk_on_down` smallint(6) NOT NULL default '0',
1053- `stalk_on_unreachable` smallint(6) NOT NULL default '0',
1054- `flap_detection_enabled` smallint(6) NOT NULL default '0',
1055- `flap_detection_on_up` smallint(6) NOT NULL default '0',
1056- `flap_detection_on_down` smallint(6) NOT NULL default '0',
1057- `flap_detection_on_unreachable` smallint(6) NOT NULL default '0',
1058- `low_flap_threshold` double NOT NULL default '0',
1059- `high_flap_threshold` double NOT NULL default '0',
1060- `process_performance_data` smallint(6) NOT NULL default '0',
1061- `freshness_checks_enabled` smallint(6) NOT NULL default '0',
1062- `freshness_threshold` smallint(6) NOT NULL default '0',
1063- `passive_checks_enabled` smallint(6) NOT NULL default '0',
1064- `event_handler_enabled` smallint(6) NOT NULL default '0',
1065- `active_checks_enabled` smallint(6) NOT NULL default '0',
1066- `retain_status_information` smallint(6) NOT NULL default '0',
1067- `retain_nonstatus_information` smallint(6) NOT NULL default '0',
1068- `notifications_enabled` smallint(6) NOT NULL default '0',
1069- `obsess_over_host` smallint(6) NOT NULL default '0',
1070- `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1071- `notes` varchar(255) NOT NULL default '',
1072- `notes_url` varchar(255) NOT NULL default '',
1073- `action_url` varchar(255) NOT NULL default '',
1074- `icon_image` varchar(255) NOT NULL default '',
1075- `icon_image_alt` varchar(255) NOT NULL default '',
1076- `vrml_image` varchar(255) NOT NULL default '',
1077- `statusmap_image` varchar(255) NOT NULL default '',
1078- `have_2d_coords` smallint(6) NOT NULL default '0',
1079- `x_2d` smallint(6) NOT NULL default '0',
1080- `y_2d` smallint(6) NOT NULL default '0',
1081- `have_3d_coords` smallint(6) NOT NULL default '0',
1082- `x_3d` double NOT NULL default '0',
1083- `y_3d` double NOT NULL default '0',
1084- `z_3d` double NOT NULL default '0',
1085- PRIMARY KEY (`host_id`),
1086- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`),
1087- KEY `idx1` (`host_object_id`),
1088- KEY `idx2` (`config_type`)
1089- ) ENGINE=InnoDB COMMENT='Host definitions';";
1090+ $sql[] = "
1091+ CREATE TABLE IF NOT EXISTS `npc_hosts` (
1092+ `host_id` int(11) NOT NULL auto_increment,
1093+ `instance_id` smallint(6) NOT NULL default '0',
1094+ `config_type` smallint(6) NOT NULL default '0',
1095+ `host_object_id` int(11) NOT NULL default '0',
1096+ `alias` varchar(64) character set latin1 NOT NULL default '',
1097+ `display_name` varchar(64) character set latin1 NOT NULL default '',
1098+ `address` varchar(128) character set latin1 NOT NULL default '',
1099+ `check_command_object_id` int(11) NOT NULL default '0',
1100+ `check_command_args` varchar(255) character set latin1 NOT NULL default '',
1101+ `eventhandler_command_object_id` int(11) NOT NULL default '0',
1102+ `eventhandler_command_args` varchar(255) character set latin1 NOT NULL default '',
1103+ `notification_timeperiod_object_id` int(11) NOT NULL default '0',
1104+ `check_timeperiod_object_id` int(11) NOT NULL default '0',
1105+ `failure_prediction_options` varchar(64) character set latin1 NOT NULL default '',
1106+ `check_interval` double NOT NULL default '0',
1107+ `retry_interval` double NOT NULL default '0',
1108+ `max_check_attempts` smallint(6) NOT NULL default '0',
1109+ `first_notification_delay` double NOT NULL default '0',
1110+ `notification_interval` double NOT NULL default '0',
1111+ `notify_on_down` smallint(6) NOT NULL default '0',
1112+ `notify_on_unreachable` smallint(6) NOT NULL default '0',
1113+ `notify_on_recovery` smallint(6) NOT NULL default '0',
1114+ `notify_on_flapping` smallint(6) NOT NULL default '0',
1115+ `notify_on_downtime` smallint(6) NOT NULL default '0',
1116+ `stalk_on_up` smallint(6) NOT NULL default '0',
1117+ `stalk_on_down` smallint(6) NOT NULL default '0',
1118+ `stalk_on_unreachable` smallint(6) NOT NULL default '0',
1119+ `flap_detection_enabled` smallint(6) NOT NULL default '0',
1120+ `flap_detection_on_up` smallint(6) NOT NULL default '0',
1121+ `flap_detection_on_down` smallint(6) NOT NULL default '0',
1122+ `flap_detection_on_unreachable` smallint(6) NOT NULL default '0',
1123+ `low_flap_threshold` double NOT NULL default '0',
1124+ `high_flap_threshold` double NOT NULL default '0',
1125+ `process_performance_data` smallint(6) NOT NULL default '0',
1126+ `freshness_checks_enabled` smallint(6) NOT NULL default '0',
1127+ `freshness_threshold` smallint(6) NOT NULL default '0',
1128+ `passive_checks_enabled` smallint(6) NOT NULL default '0',
1129+ `event_handler_enabled` smallint(6) NOT NULL default '0',
1130+ `active_checks_enabled` smallint(6) NOT NULL default '0',
1131+ `retain_status_information` smallint(6) NOT NULL default '0',
1132+ `retain_nonstatus_information` smallint(6) NOT NULL default '0',
1133+ `notifications_enabled` smallint(6) NOT NULL default '0',
1134+ `obsess_over_host` smallint(6) NOT NULL default '0',
1135+ `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1136+ `notes` varchar(255) character set latin1 NOT NULL default '',
1137+ `notes_url` varchar(255) character set latin1 NOT NULL default '',
1138+ `action_url` varchar(255) character set latin1 NOT NULL default '',
1139+ `icon_image` varchar(255) character set latin1 NOT NULL default '',
1140+ `icon_image_alt` varchar(255) character set latin1 NOT NULL default '',
1141+ `vrml_image` varchar(255) character set latin1 NOT NULL default '',
1142+ `statusmap_image` varchar(255) character set latin1 NOT NULL default '',
1143+ `have_2d_coords` smallint(6) NOT NULL default '0',
1144+ `x_2d` smallint(6) NOT NULL default '0',
1145+ `y_2d` smallint(6) NOT NULL default '0',
1146+ `have_3d_coords` smallint(6) NOT NULL default '0',
1147+ `x_3d` double NOT NULL default '0',
1148+ `y_3d` double NOT NULL default '0',
1149+ `z_3d` double NOT NULL default '0',
1150+ PRIMARY KEY (`host_id`),
1151+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`),
1152+ KEY `host_object_id` (`host_object_id`)
1153+ ) ENGINE=MyISAM COMMENT='Host definitions';
1154+ ";
1155+ $sql[] = "CREATE INDEX idx1 ON npc_hosts(host_object_id);";
1156+ $sql[] = "CREATE INDEX idx2 ON npc_hosts(config_type);";
1157 }
1158
1159 if (!in_array('npc_hoststatus', $tables)) {
1160- $sql[] = "CREATE TABLE `npc_hoststatus` (
1161- `hoststatus_id` int(11) NOT NULL auto_increment,
1162- `instance_id` smallint(6) NOT NULL default '0',
1163- `host_object_id` int(11) NOT NULL default '0',
1164- `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
1165- `output` varchar(255) NOT NULL default '',
1166- `perfdata` varchar(255) NOT NULL default '',
1167- `current_state` smallint(6) NOT NULL default '0',
1168- `has_been_checked` smallint(6) NOT NULL default '0',
1169- `should_be_scheduled` smallint(6) NOT NULL default '0',
1170- `current_check_attempt` smallint(6) NOT NULL default '0',
1171- `max_check_attempts` smallint(6) NOT NULL default '0',
1172- `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
1173- `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
1174- `check_type` smallint(6) NOT NULL default '0',
1175- `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
1176- `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
1177- `last_hard_state` smallint(6) NOT NULL default '0',
1178- `last_time_up` datetime NOT NULL default '0000-00-00 00:00:00',
1179- `last_time_down` datetime NOT NULL default '0000-00-00 00:00:00',
1180- `last_time_unreachable` datetime NOT NULL default '0000-00-00 00:00:00',
1181- `state_type` smallint(6) NOT NULL default '0',
1182- `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
1183- `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
1184- `no_more_notifications` smallint(6) NOT NULL default '0',
1185- `notifications_enabled` smallint(6) NOT NULL default '0',
1186- `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
1187- `acknowledgement_type` smallint(6) NOT NULL default '0',
1188- `current_notification_number` smallint(6) NOT NULL default '0',
1189- `passive_checks_enabled` smallint(6) NOT NULL default '0',
1190- `active_checks_enabled` smallint(6) NOT NULL default '0',
1191- `event_handler_enabled` smallint(6) NOT NULL default '0',
1192- `flap_detection_enabled` smallint(6) NOT NULL default '0',
1193- `is_flapping` smallint(6) NOT NULL default '0',
1194- `percent_state_change` double NOT NULL default '0',
1195- `latency` double NOT NULL default '0',
1196- `execution_time` double NOT NULL default '0',
1197- `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
1198- `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1199- `process_performance_data` smallint(6) NOT NULL default '0',
1200- `obsess_over_host` smallint(6) NOT NULL default '0',
1201- `modified_host_attributes` int(11) NOT NULL default '0',
1202- `event_handler` varchar(255) NOT NULL default '',
1203- `check_command` varchar(255) NOT NULL default '',
1204- `normal_check_interval` double NOT NULL default '0',
1205- `retry_check_interval` double NOT NULL default '0',
1206- `check_timeperiod_object_id` int(11) NOT NULL default '0',
1207- PRIMARY KEY (`hoststatus_id`),
1208- UNIQUE KEY `object_id` (`host_object_id`),
1209- KEY `idx1` (`current_state`)
1210- ) ENGINE=InnoDB COMMENT='Current host status information';";
1211+ $sql[] = "
1212+ CREATE TABLE IF NOT EXISTS `npc_hoststatus` (
1213+ `hoststatus_id` int(11) NOT NULL auto_increment,
1214+ `instance_id` smallint(6) NOT NULL default '0',
1215+ `host_object_id` int(11) NOT NULL default '0',
1216+ `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
1217+ `output` varchar(255) character set latin1 NOT NULL default '',
1218+ `long_output` TEXT NOT NULL default '',
1219+ `perfdata` TEXT character set latin1 NOT NULL default '',
1220+ `current_state` smallint(6) NOT NULL default '0',
1221+ `has_been_checked` smallint(6) NOT NULL default '0',
1222+ `should_be_scheduled` smallint(6) NOT NULL default '0',
1223+ `current_check_attempt` smallint(6) NOT NULL default '0',
1224+ `max_check_attempts` smallint(6) NOT NULL default '0',
1225+ `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
1226+ `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
1227+ `check_type` smallint(6) NOT NULL default '0',
1228+ `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
1229+ `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
1230+ `last_hard_state` smallint(6) NOT NULL default '0',
1231+ `last_time_up` datetime NOT NULL default '0000-00-00 00:00:00',
1232+ `last_time_down` datetime NOT NULL default '0000-00-00 00:00:00',
1233+ `last_time_unreachable` datetime NOT NULL default '0000-00-00 00:00:00',
1234+ `state_type` smallint(6) NOT NULL default '0',
1235+ `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
1236+ `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
1237+ `no_more_notifications` smallint(6) NOT NULL default '0',
1238+ `notifications_enabled` smallint(6) NOT NULL default '0',
1239+ `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
1240+ `acknowledgement_type` smallint(6) NOT NULL default '0',
1241+ `current_notification_number` smallint(6) NOT NULL default '0',
1242+ `passive_checks_enabled` smallint(6) NOT NULL default '0',
1243+ `active_checks_enabled` smallint(6) NOT NULL default '0',
1244+ `event_handler_enabled` smallint(6) NOT NULL default '0',
1245+ `flap_detection_enabled` smallint(6) NOT NULL default '0',
1246+ `is_flapping` smallint(6) NOT NULL default '0',
1247+ `percent_state_change` double NOT NULL default '0',
1248+ `latency` double NOT NULL default '0',
1249+ `execution_time` double NOT NULL default '0',
1250+ `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
1251+ `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1252+ `process_performance_data` smallint(6) NOT NULL default '0',
1253+ `obsess_over_host` smallint(6) NOT NULL default '0',
1254+ `modified_host_attributes` int(11) NOT NULL default '0',
1255+ `event_handler` varchar(255) character set latin1 NOT NULL default '',
1256+ `check_command` varchar(255) character set latin1 NOT NULL default '',
1257+ `normal_check_interval` double NOT NULL default '0',
1258+ `retry_check_interval` double NOT NULL default '0',
1259+ `check_timeperiod_object_id` int(11) NOT NULL default '0',
1260+ PRIMARY KEY (`hoststatus_id`),
1261+ UNIQUE KEY `object_id` (`host_object_id`),
1262+ KEY `instance_id` (`instance_id`),
1263+ KEY `status_update_time` (`status_update_time`),
1264+ KEY `current_state` (`current_state`),
1265+ KEY `check_type` (`check_type`),
1266+ KEY `state_type` (`state_type`),
1267+ KEY `last_state_change` (`last_state_change`),
1268+ KEY `notifications_enabled` (`notifications_enabled`),
1269+ KEY `problem_has_been_acknowledged` (`problem_has_been_acknowledged`),
1270+ KEY `active_checks_enabled` (`active_checks_enabled`),
1271+ KEY `passive_checks_enabled` (`passive_checks_enabled`),
1272+ KEY `event_handler_enabled` (`event_handler_enabled`),
1273+ KEY `flap_detection_enabled` (`flap_detection_enabled`),
1274+ KEY `is_flapping` (`is_flapping`),
1275+ KEY `percent_state_change` (`percent_state_change`),
1276+ KEY `latency` (`latency`),
1277+ KEY `execution_time` (`execution_time`),
1278+ KEY `scheduled_downtime_depth` (`scheduled_downtime_depth`)
1279+ ) ENGINE=MyISAM COMMENT='Current host status information';
1280+ ";
1281 }
1282
1283 if (!in_array('npc_instances', $tables)) {
1284- $sql[] = "CREATE TABLE `npc_instances` (
1285- `instance_id` smallint(6) NOT NULL auto_increment,
1286- `instance_name` varchar(64) NOT NULL default '',
1287- `instance_description` varchar(128) NOT NULL default '',
1288- PRIMARY KEY (`instance_id`)
1289- ) ENGINE=InnoDB COMMENT='Location names of various Nagios installations';";
1290+ $sql[] = "
1291+ CREATE TABLE IF NOT EXISTS `npc_instances` (
1292+ `instance_id` smallint(6) NOT NULL auto_increment,
1293+ `instance_name` varchar(64) character set latin1 NOT NULL default '',
1294+ `instance_description` varchar(128) character set latin1 NOT NULL default '',
1295+ PRIMARY KEY (`instance_id`)
1296+ ) ENGINE=MyISAM COMMENT='Location names of various Nagios installations';
1297+ ";
1298 }
1299
1300 if (!in_array('npc_logentries', $tables)) {
1301- $sql[] = "CREATE TABLE `npc_logentries` (
1302- `logentry_id` int(11) NOT NULL auto_increment,
1303- `instance_id` int(11) NOT NULL default '0',
1304- `logentry_time` datetime NOT NULL default '0000-00-00 00:00:00',
1305- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
1306- `entry_time_usec` int(11) NOT NULL default '0',
1307- `logentry_type` int(11) NOT NULL default '0',
1308- `logentry_data` varchar(255) NOT NULL default '',
1309- `realtime_data` smallint(6) NOT NULL default '0',
1310- `inferred_data_extracted` smallint(6) NOT NULL default '0',
1311- PRIMARY KEY (`logentry_id`),
1312- KEY `idx1` (`entry_time`,`entry_time_usec`)
1313- ) ENGINE=InnoDB COMMENT='Historical record of log entries';";
1314+ $sql[] = "
1315+ CREATE TABLE IF NOT EXISTS `npc_logentries` (
1316+ `logentry_id` int(11) NOT NULL auto_increment,
1317+ `instance_id` int(11) NOT NULL default '0',
1318+ `logentry_time` datetime NOT NULL default '0000-00-00 00:00:00',
1319+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
1320+ `entry_time_usec` int(11) NOT NULL default '0',
1321+ `logentry_type` int(11) NOT NULL default '0',
1322+ `logentry_data` varchar(255) character set latin1 NOT NULL default '',
1323+ `realtime_data` smallint(6) NOT NULL default '0',
1324+ `inferred_data_extracted` smallint(6) NOT NULL default '0',
1325+ PRIMARY KEY (`logentry_id`)
1326+ ) ENGINE=MyISAM COMMENT='Historical record of log entries';
1327+ ";
1328+ $sql[] = "CREATE INDEX idx1 ON npc_logentries(entry_time, entry_time_usec);";
1329 }
1330
1331 if (!in_array('npc_notifications', $tables)) {
1332- $sql[] = "CREATE TABLE `npc_notifications` (
1333- `notification_id` int(11) NOT NULL auto_increment,
1334- `instance_id` smallint(6) NOT NULL default '0',
1335- `notification_type` smallint(6) NOT NULL default '0',
1336- `notification_reason` smallint(6) NOT NULL default '0',
1337- `object_id` int(11) NOT NULL default '0',
1338- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1339- `start_time_usec` int(11) NOT NULL default '0',
1340- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1341- `end_time_usec` int(11) NOT NULL default '0',
1342- `state` smallint(6) NOT NULL default '0',
1343- `output` varchar(255) NOT NULL default '',
1344- `escalated` smallint(6) NOT NULL default '0',
1345- `contacts_notified` smallint(6) NOT NULL default '0',
1346- PRIMARY KEY (`notification_id`),
1347- UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
1348- ) ENGINE=InnoDB COMMENT='Historical record of host and service notifications';";
1349+ $sql[] = "
1350+ CREATE TABLE IF NOT EXISTS `npc_notifications` (
1351+ `notification_id` int(11) NOT NULL auto_increment,
1352+ `instance_id` smallint(6) NOT NULL default '0',
1353+ `notification_type` smallint(6) NOT NULL default '0',
1354+ `notification_reason` smallint(6) NOT NULL default '0',
1355+ `object_id` int(11) NOT NULL default '0',
1356+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1357+ `start_time_usec` int(11) NOT NULL default '0',
1358+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1359+ `end_time_usec` int(11) NOT NULL default '0',
1360+ `state` smallint(6) NOT NULL default '0',
1361+ `output` varchar(255) character set latin1 NOT NULL default '',
1362+ `long_output` TEXT NOT NULL default '',
1363+ `escalated` smallint(6) NOT NULL default '0',
1364+ `contacts_notified` smallint(6) NOT NULL default '0',
1365+ PRIMARY KEY (`notification_id`),
1366+ UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
1367+ ) ENGINE=MyISAM COMMENT='Historical record of host and service notifications';
1368+ ";
1369 }
1370
1371 if (!in_array('npc_objects', $tables)) {
1372- $sql[] = "CREATE TABLE `npc_objects` (
1373- `object_id` int(11) NOT NULL auto_increment,
1374- `instance_id` smallint(6) NOT NULL default '0',
1375- `objecttype_id` smallint(6) NOT NULL default '0',
1376- `name1` varchar(128) NOT NULL default '',
1377- `name2` varchar(128) default NULL,
1378- `is_active` smallint(6) NOT NULL default '0',
1379- PRIMARY KEY (`object_id`),
1380- KEY `objecttype_id` (`objecttype_id`,`name1`,`name2`),
1381- KEY `name_idx` (`name1`,`name2`)
1382- ) ENGINE=InnoDB COMMENT='Current and historical objects of all kinds';";
1383+ $sql[] = "
1384+ CREATE TABLE IF NOT EXISTS `npc_objects` (
1385+ `object_id` int(11) NOT NULL auto_increment,
1386+ `instance_id` smallint(6) NOT NULL default '0',
1387+ `objecttype_id` smallint(6) NOT NULL default '0',
1388+ `name1` varchar(128) character set latin1 NOT NULL default '',
1389+ `name2` varchar(128) character set latin1 default NULL,
1390+ `is_active` smallint(6) NOT NULL default '0',
1391+ PRIMARY KEY (`object_id`),
1392+ KEY `objecttype_id` (`objecttype_id`,`name1`,`name2`)
1393+ ) ENGINE=MyISAM COMMENT='Current and historical objects of all kinds';
1394+ ";
1395+ // FIXME? $sql[] = "KEY `name_idx` (`name1`,`name2`)";
1396 }
1397
1398 if (!in_array('npc_processevents', $tables)) {
1399- $sql[] = "CREATE TABLE `npc_processevents` (
1400- `processevent_id` int(11) NOT NULL auto_increment,
1401- `instance_id` smallint(6) NOT NULL default '0',
1402- `event_type` smallint(6) NOT NULL default '0',
1403- `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
1404- `event_time_usec` int(11) NOT NULL default '0',
1405- `process_id` int(11) NOT NULL default '0',
1406- `program_name` varchar(16) NOT NULL default '',
1407- `program_version` varchar(20) NOT NULL default '',
1408- `program_date` varchar(10) NOT NULL default '',
1409- PRIMARY KEY (`processevent_id`)
1410- ) ENGINE=InnoDB COMMENT='Historical Nagios process events';";
1411+ $sql[] = "
1412+ CREATE TABLE IF NOT EXISTS `npc_processevents` (
1413+ `processevent_id` int(11) NOT NULL auto_increment,
1414+ `instance_id` smallint(6) NOT NULL default '0',
1415+ `event_type` smallint(6) NOT NULL default '0',
1416+ `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
1417+ `event_time_usec` int(11) NOT NULL default '0',
1418+ `process_id` int(11) NOT NULL default '0',
1419+ `program_name` varchar(16) character set latin1 NOT NULL default '',
1420+ `program_version` varchar(20) character set latin1 NOT NULL default '',
1421+ `program_date` varchar(10) character set latin1 NOT NULL default '',
1422+ PRIMARY KEY (`processevent_id`)
1423+ ) ENGINE=MyISAM COMMENT='Historical Nagios process events';
1424+ ";
1425 }
1426
1427 if (!in_array('npc_programstatus', $tables)) {
1428- $sql[] = "CREATE TABLE `npc_programstatus` (
1429- `programstatus_id` int(11) NOT NULL auto_increment,
1430- `instance_id` smallint(6) NOT NULL default '0',
1431- `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
1432- `program_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1433- `program_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1434- `is_currently_running` smallint(6) NOT NULL default '0',
1435- `process_id` int(11) NOT NULL default '0',
1436- `daemon_mode` smallint(6) NOT NULL default '0',
1437- `last_command_check` datetime NOT NULL default '0000-00-00 00:00:00',
1438- `last_log_rotation` datetime NOT NULL default '0000-00-00 00:00:00',
1439- `notifications_enabled` smallint(6) NOT NULL default '0',
1440- `active_service_checks_enabled` smallint(6) NOT NULL default '0',
1441- `passive_service_checks_enabled` smallint(6) NOT NULL default '0',
1442- `active_host_checks_enabled` smallint(6) NOT NULL default '0',
1443- `passive_host_checks_enabled` smallint(6) NOT NULL default '0',
1444- `event_handlers_enabled` smallint(6) NOT NULL default '0',
1445- `flap_detection_enabled` smallint(6) NOT NULL default '0',
1446- `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1447- `process_performance_data` smallint(6) NOT NULL default '0',
1448- `obsess_over_hosts` smallint(6) NOT NULL default '0',
1449- `obsess_over_services` smallint(6) NOT NULL default '0',
1450- `modified_host_attributes` int(11) NOT NULL default '0',
1451- `modified_service_attributes` int(11) NOT NULL default '0',
1452- `global_host_event_handler` varchar(255) NOT NULL default '',
1453- `global_service_event_handler` varchar(255) NOT NULL default '',
1454- PRIMARY KEY (`programstatus_id`),
1455- UNIQUE KEY `instance_id` (`instance_id`)
1456- ) ENGINE=InnoDB COMMENT='Current program status information';";
1457+ $sql[] = "
1458+ CREATE TABLE IF NOT EXISTS `npc_programstatus` (
1459+ `programstatus_id` int(11) NOT NULL auto_increment,
1460+ `instance_id` smallint(6) NOT NULL default '0',
1461+ `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
1462+ `program_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1463+ `program_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1464+ `is_currently_running` smallint(6) NOT NULL default '0',
1465+ `process_id` int(11) NOT NULL default '0',
1466+ `daemon_mode` smallint(6) NOT NULL default '0',
1467+ `last_command_check` datetime NOT NULL default '0000-00-00 00:00:00',
1468+ `last_log_rotation` datetime NOT NULL default '0000-00-00 00:00:00',
1469+ `notifications_enabled` smallint(6) NOT NULL default '0',
1470+ `active_service_checks_enabled` smallint(6) NOT NULL default '0',
1471+ `passive_service_checks_enabled` smallint(6) NOT NULL default '0',
1472+ `active_host_checks_enabled` smallint(6) NOT NULL default '0',
1473+ `passive_host_checks_enabled` smallint(6) NOT NULL default '0',
1474+ `event_handlers_enabled` smallint(6) NOT NULL default '0',
1475+ `flap_detection_enabled` smallint(6) NOT NULL default '0',
1476+ `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1477+ `process_performance_data` smallint(6) NOT NULL default '0',
1478+ `obsess_over_hosts` smallint(6) NOT NULL default '0',
1479+ `obsess_over_services` smallint(6) NOT NULL default '0',
1480+ `modified_host_attributes` int(11) NOT NULL default '0',
1481+ `modified_service_attributes` int(11) NOT NULL default '0',
1482+ `global_host_event_handler` varchar(255) character set latin1 NOT NULL default '',
1483+ `global_service_event_handler` varchar(255) character set latin1 NOT NULL default '',
1484+ PRIMARY KEY (`programstatus_id`),
1485+ UNIQUE KEY `instance_id` (`instance_id`)
1486+ ) ENGINE=MyISAM COMMENT='Current program status information';
1487+ ";
1488 }
1489
1490 if (!in_array('npc_runtimevariables', $tables)) {
1491- $sql[] = "CREATE TABLE `npc_runtimevariables` (
1492- `runtimevariable_id` int(11) NOT NULL auto_increment,
1493- `instance_id` smallint(6) NOT NULL default '0',
1494- `varname` varchar(64) NOT NULL default '',
1495- `varvalue` varchar(255) NOT NULL default '',
1496- PRIMARY KEY (`runtimevariable_id`),
1497- UNIQUE KEY `instance_id` (`instance_id`,`varname`)
1498- ) ENGINE=InnoDB COMMENT='Runtime variables from the Nagios daemon';";
1499+ $sql[] = "
1500+ CREATE TABLE IF NOT EXISTS `npc_runtimevariables` (
1501+ `runtimevariable_id` int(11) NOT NULL auto_increment,
1502+ `instance_id` smallint(6) NOT NULL default '0',
1503+ `varname` varchar(64) character set latin1 NOT NULL default '',
1504+ `varvalue` varchar(255) character set latin1 NOT NULL default '',
1505+ PRIMARY KEY (`runtimevariable_id`),
1506+ UNIQUE KEY `instance_id` (`instance_id`,`varname`)
1507+ ) ENGINE=MyISAM COMMENT='Runtime variables from the Nagios daemon';
1508+ ";
1509 }
1510
1511 if (!in_array('npc_scheduleddowntime', $tables)) {
1512- $sql[] = "CREATE TABLE `npc_scheduleddowntime` (
1513- `scheduleddowntime_id` int(11) NOT NULL auto_increment,
1514- `instance_id` smallint(6) NOT NULL default '0',
1515- `downtime_type` smallint(6) NOT NULL default '0',
1516- `object_id` int(11) NOT NULL default '0',
1517- `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
1518- `author_name` varchar(64) NOT NULL default '',
1519- `comment_data` varchar(255) NOT NULL default '',
1520- `internal_downtime_id` int(11) NOT NULL default '0',
1521- `triggered_by_id` int(11) NOT NULL default '0',
1522- `is_fixed` smallint(6) NOT NULL default '0',
1523- `duration` smallint(6) NOT NULL default '0',
1524- `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1525- `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1526- `was_started` smallint(6) NOT NULL default '0',
1527- `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1528- `actual_start_time_usec` int(11) NOT NULL default '0',
1529- PRIMARY KEY (`scheduleddowntime_id`),
1530- UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
1531- ) ENGINE=InnoDB COMMENT='Current scheduled host and service downtime';";
1532+ $sql[] = "
1533+ CREATE TABLE IF NOT EXISTS `npc_scheduleddowntime` (
1534+ `scheduleddowntime_id` int(11) NOT NULL auto_increment,
1535+ `instance_id` smallint(6) NOT NULL default '0',
1536+ `downtime_type` smallint(6) NOT NULL default '0',
1537+ `object_id` int(11) NOT NULL default '0',
1538+ `entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
1539+ `author_name` varchar(64) character set latin1 NOT NULL default '',
1540+ `comment_data` varchar(255) character set latin1 NOT NULL default '',
1541+ `internal_downtime_id` int(11) NOT NULL default '0',
1542+ `triggered_by_id` int(11) NOT NULL default '0',
1543+ `is_fixed` smallint(6) NOT NULL default '0',
1544+ `duration` smallint(6) NOT NULL default '0',
1545+ `scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1546+ `scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1547+ `was_started` smallint(6) NOT NULL default '0',
1548+ `actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1549+ `actual_start_time_usec` int(11) NOT NULL default '0',
1550+ PRIMARY KEY (`scheduleddowntime_id`),
1551+ UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
1552+ ) ENGINE=MyISAM COMMENT='Current scheduled host and service downtime';
1553+ ";
1554 }
1555
1556 if (!in_array('npc_service_contactgroups', $tables)) {
1557- $sql[] = "CREATE TABLE `npc_service_contactgroups` (
1558- `service_contactgroup_id` int(11) NOT NULL auto_increment,
1559- `instance_id` smallint(6) NOT NULL default '0',
1560- `service_id` int(11) NOT NULL default '0',
1561- `contactgroup_object_id` int(11) NOT NULL default '0',
1562- PRIMARY KEY (`service_contactgroup_id`),
1563- UNIQUE KEY `instance_id` (`service_id`,`contactgroup_object_id`)
1564- ) ENGINE=InnoDB COMMENT='Service contact groups';";
1565+ $sql[] = "
1566+ CREATE TABLE IF NOT EXISTS `npc_service_contactgroups` (
1567+ `service_contactgroup_id` int(11) NOT NULL auto_increment,
1568+ `instance_id` smallint(6) NOT NULL default '0',
1569+ `service_id` int(11) NOT NULL default '0',
1570+ `contactgroup_object_id` int(11) NOT NULL default '0',
1571+ PRIMARY KEY (`service_contactgroup_id`),
1572+ UNIQUE KEY `instance_id` (`service_id`,`contactgroup_object_id`)
1573+ ) ENGINE=MyISAM COMMENT='Service contact groups';
1574+ ";
1575 }
1576
1577 if (!in_array('npc_service_contacts', $tables)) {
1578- $sql[] = "CREATE TABLE `npc_service_contacts` (
1579- `service_contact_id` int(11) NOT NULL auto_increment,
1580- `instance_id` smallint(6) NOT NULL default '0',
1581- `service_id` int(11) NOT NULL default '0',
1582- `contact_object_id` int(11) NOT NULL default '0',
1583- PRIMARY KEY (`service_contact_id`),
1584- UNIQUE KEY `instance_id` (`instance_id`,`service_id`,`contact_object_id`)
1585- ) ENGINE=InnoDB;";
1586+ $sql[] = "
1587+ CREATE TABLE IF NOT EXISTS `npc_service_contacts` (
1588+ `service_contact_id` int(11) NOT NULL auto_increment,
1589+ `instance_id` smallint(6) NOT NULL default '0',
1590+ `service_id` int(11) NOT NULL default '0',
1591+ `contact_object_id` int(11) NOT NULL default '0',
1592+ PRIMARY KEY (`service_contact_id`),
1593+ UNIQUE KEY `instance_id` (`instance_id`,`service_id`,`contact_object_id`)
1594+ ) ENGINE=MyISAM ;
1595+ ";
1596 }
1597
1598 if (!in_array('npc_servicechecks', $tables)) {
1599- $sql[] = "CREATE TABLE `npc_servicechecks` (
1600- `servicecheck_id` int(11) NOT NULL auto_increment,
1601- `instance_id` smallint(6) NOT NULL default '0',
1602- `service_object_id` int(11) NOT NULL default '0',
1603- `check_type` smallint(6) NOT NULL default '0',
1604- `current_check_attempt` smallint(6) NOT NULL default '0',
1605- `max_check_attempts` smallint(6) NOT NULL default '0',
1606- `state` smallint(6) NOT NULL default '0',
1607- `state_type` smallint(6) NOT NULL default '0',
1608- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1609- `start_time_usec` int(11) NOT NULL default '0',
1610- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1611- `end_time_usec` int(11) NOT NULL default '0',
1612- `command_object_id` int(11) NOT NULL default '0',
1613- `command_args` varchar(255) NOT NULL default '',
1614- `command_line` varchar(255) NOT NULL default '',
1615- `timeout` smallint(6) NOT NULL default '0',
1616- `early_timeout` smallint(6) NOT NULL default '0',
1617- `execution_time` double NOT NULL default '0',
1618- `latency` double NOT NULL default '0',
1619- `return_code` smallint(6) NOT NULL default '0',
1620- `output` varchar(255) NOT NULL default '',
1621- `perfdata` varchar(255) NOT NULL default '',
1622- PRIMARY KEY (`servicecheck_id`),
1623- UNIQUE KEY `instance_id` (`instance_id`,`service_object_id`,`start_time`,`start_time_usec`),
1624- KEY `idx1` (`service_object_id`,`start_time`),
1625- KEY `idx2` (`instance_id`,`start_time`)
1626- ) ENGINE=InnoDB COMMENT='Historical service checks';";
1627+ $sql[] = "
1628+ CREATE TABLE IF NOT EXISTS `npc_servicechecks` (
1629+ `servicecheck_id` int(11) NOT NULL auto_increment,
1630+ `instance_id` smallint(6) NOT NULL default '0',
1631+ `service_object_id` int(11) NOT NULL default '0',
1632+ `check_type` smallint(6) NOT NULL default '0',
1633+ `current_check_attempt` smallint(6) NOT NULL default '0',
1634+ `max_check_attempts` smallint(6) NOT NULL default '0',
1635+ `state` smallint(6) NOT NULL default '0',
1636+ `state_type` smallint(6) NOT NULL default '0',
1637+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
1638+ `start_time_usec` int(11) NOT NULL default '0',
1639+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
1640+ `end_time_usec` int(11) NOT NULL default '0',
1641+ `command_object_id` int(11) NOT NULL default '0',
1642+ `command_args` varchar(255) character set latin1 NOT NULL default '',
1643+ `command_line` varchar(255) character set latin1 NOT NULL default '',
1644+ `timeout` smallint(6) NOT NULL default '0',
1645+ `early_timeout` smallint(6) NOT NULL default '0',
1646+ `execution_time` double NOT NULL default '0',
1647+ `latency` double NOT NULL default '0',
1648+ `return_code` smallint(6) NOT NULL default '0',
1649+ `output` varchar(255) character set latin1 NOT NULL default '',
1650+ `long_output` TEXT NOT NULL default '',
1651+ `perfdata` TEXT character set latin1 NOT NULL default '',
1652+ PRIMARY KEY (`servicecheck_id`),
1653+ KEY `instance_id` (`instance_id`),
1654+ KEY `service_object_id` (`service_object_id`),
1655+ KEY `start_time` (`start_time`)
1656+ ) ENGINE=MyISAM COMMENT='Historical service checks';
1657+ ";
1658+ $sql[] = "CREATE INDEX idx1 ON npc_servicechecks(service_object_id, start_time);";
1659+ $sql[] = "CREATE INDEX idx2 ON npc_servicechecks(instance_id, start_time);";
1660+ // FIXME? $sql[] = "UNIQUE KEY `instance_id` (`instance_id`,`service_object_id`,`start_time`,`start_time_usec`)";
1661 }
1662
1663 if (!in_array('npc_servicedependencies', $tables)) {
1664- $sql[] = "CREATE TABLE `npc_servicedependencies` (
1665- `servicedependency_id` int(11) NOT NULL auto_increment,
1666- `instance_id` smallint(6) NOT NULL default '0',
1667- `config_type` smallint(6) NOT NULL default '0',
1668- `service_object_id` int(11) NOT NULL default '0',
1669- `dependent_service_object_id` int(11) NOT NULL default '0',
1670- `dependency_type` smallint(6) NOT NULL default '0',
1671- `inherits_parent` smallint(6) NOT NULL default '0',
1672- `timeperiod_object_id` int(11) NOT NULL default '0',
1673- `fail_on_ok` smallint(6) NOT NULL default '0',
1674- `fail_on_warning` smallint(6) NOT NULL default '0',
1675- `fail_on_unknown` smallint(6) NOT NULL default '0',
1676- `fail_on_critical` smallint(6) NOT NULL default '0',
1677- PRIMARY KEY (`servicedependency_id`),
1678- 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`)
1679- ) ENGINE=InnoDB COMMENT='Service dependency definitions';";
1680+ $sql[] = "
1681+ CREATE TABLE IF NOT EXISTS `npc_servicedependencies` (
1682+ `servicedependency_id` int(11) NOT NULL auto_increment,
1683+ `instance_id` smallint(6) NOT NULL default '0',
1684+ `config_type` smallint(6) NOT NULL default '0',
1685+ `service_object_id` int(11) NOT NULL default '0',
1686+ `dependent_service_object_id` int(11) NOT NULL default '0',
1687+ `dependency_type` smallint(6) NOT NULL default '0',
1688+ `inherits_parent` smallint(6) NOT NULL default '0',
1689+ `timeperiod_object_id` int(11) NOT NULL default '0',
1690+ `fail_on_ok` smallint(6) NOT NULL default '0',
1691+ `fail_on_warning` smallint(6) NOT NULL default '0',
1692+ `fail_on_unknown` smallint(6) NOT NULL default '0',
1693+ `fail_on_critical` smallint(6) NOT NULL default '0',
1694+ PRIMARY KEY (`servicedependency_id`),
1695+ 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`)
1696+ ) ENGINE=MyISAM COMMENT='Service dependency definitions';
1697+ ";
1698 }
1699
1700 if (!in_array('npc_serviceescalation_contactgroups', $tables)) {
1701- $sql[] = "CREATE TABLE `npc_serviceescalation_contactgroups` (
1702- `serviceescalation_contactgroup_id` int(11) NOT NULL auto_increment,
1703- `instance_id` smallint(6) NOT NULL default '0',
1704- `serviceescalation_id` int(11) NOT NULL default '0',
1705- `contactgroup_object_id` int(11) NOT NULL default '0',
1706- PRIMARY KEY (`serviceescalation_contactgroup_id`),
1707- UNIQUE KEY `instance_id` (`serviceescalation_id`,`contactgroup_object_id`)
1708- ) ENGINE=InnoDB COMMENT='Service escalation contact groups';";
1709+ $sql[] = "
1710+ CREATE TABLE IF NOT EXISTS `npc_serviceescalation_contactgroups` (
1711+ `serviceescalation_contactgroup_id` int(11) NOT NULL auto_increment,
1712+ `instance_id` smallint(6) NOT NULL default '0',
1713+ `serviceescalation_id` int(11) NOT NULL default '0',
1714+ `contactgroup_object_id` int(11) NOT NULL default '0',
1715+ PRIMARY KEY (`serviceescalation_contactgroup_id`),
1716+ UNIQUE KEY `instance_id` (`serviceescalation_id`,`contactgroup_object_id`)
1717+ ) ENGINE=MyISAM COMMENT='Service escalation contact groups';
1718+ ";
1719 }
1720
1721 if (!in_array('npc_serviceescalation_contacts', $tables)) {
1722- $sql[] = "CREATE TABLE `npc_serviceescalation_contacts` (
1723- `serviceescalation_contact_id` int(11) NOT NULL auto_increment,
1724- `instance_id` smallint(6) NOT NULL default '0',
1725- `serviceescalation_id` int(11) NOT NULL default '0',
1726- `contact_object_id` int(11) NOT NULL default '0',
1727- PRIMARY KEY (`serviceescalation_contact_id`),
1728- UNIQUE KEY `instance_id` (`instance_id`,`serviceescalation_id`,`contact_object_id`)
1729- ) ENGINE=InnoDB;";
1730+ $sql[] = "
1731+ CREATE TABLE IF NOT EXISTS `npc_serviceescalation_contacts` (
1732+ `serviceescalation_contact_id` int(11) NOT NULL auto_increment,
1733+ `instance_id` smallint(6) NOT NULL default '0',
1734+ `serviceescalation_id` int(11) NOT NULL default '0',
1735+ `contact_object_id` int(11) NOT NULL default '0',
1736+ PRIMARY KEY (`serviceescalation_contact_id`),
1737+ UNIQUE KEY `instance_id` (`instance_id`,`serviceescalation_id`,`contact_object_id`)
1738+ ) ENGINE=MyISAM ;
1739+ ";
1740 }
1741
1742 if (!in_array('npc_serviceescalations', $tables)) {
1743- $sql[] = "CREATE TABLE `npc_serviceescalations` (
1744- `serviceescalation_id` int(11) NOT NULL auto_increment,
1745- `instance_id` smallint(6) NOT NULL default '0',
1746- `config_type` smallint(6) NOT NULL default '0',
1747- `service_object_id` int(11) NOT NULL default '0',
1748- `timeperiod_object_id` int(11) NOT NULL default '0',
1749- `first_notification` smallint(6) NOT NULL default '0',
1750- `last_notification` smallint(6) NOT NULL default '0',
1751- `notification_interval` double NOT NULL default '0',
1752- `escalate_on_recovery` smallint(6) NOT NULL default '0',
1753- `escalate_on_warning` smallint(6) NOT NULL default '0',
1754- `escalate_on_unknown` smallint(6) NOT NULL default '0',
1755- `escalate_on_critical` smallint(6) NOT NULL default '0',
1756- PRIMARY KEY (`serviceescalation_id`),
1757- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
1758- ) ENGINE=InnoDB COMMENT='Service escalation definitions';";
1759+ $sql[] = "
1760+ CREATE TABLE IF NOT EXISTS `npc_serviceescalations` (
1761+ `serviceescalation_id` int(11) NOT NULL auto_increment,
1762+ `instance_id` smallint(6) NOT NULL default '0',
1763+ `config_type` smallint(6) NOT NULL default '0',
1764+ `service_object_id` int(11) NOT NULL default '0',
1765+ `timeperiod_object_id` int(11) NOT NULL default '0',
1766+ `first_notification` smallint(6) NOT NULL default '0',
1767+ `last_notification` smallint(6) NOT NULL default '0',
1768+ `notification_interval` double NOT NULL default '0',
1769+ `escalate_on_recovery` smallint(6) NOT NULL default '0',
1770+ `escalate_on_warning` smallint(6) NOT NULL default '0',
1771+ `escalate_on_unknown` smallint(6) NOT NULL default '0',
1772+ `escalate_on_critical` smallint(6) NOT NULL default '0',
1773+ PRIMARY KEY (`serviceescalation_id`),
1774+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
1775+ ) ENGINE=MyISAM COMMENT='Service escalation definitions';
1776+ ";
1777 }
1778
1779 if (!in_array('npc_servicegroup_members', $tables)) {
1780- $sql[] = "CREATE TABLE `npc_servicegroup_members` (
1781- `servicegroup_member_id` int(11) NOT NULL auto_increment,
1782- `instance_id` smallint(6) NOT NULL default '0',
1783- `servicegroup_id` int(11) NOT NULL default '0',
1784- `service_object_id` int(11) NOT NULL default '0',
1785- PRIMARY KEY (`servicegroup_member_id`),
1786- UNIQUE KEY `instance_id` (`servicegroup_id`,`service_object_id`)
1787- ) ENGINE=InnoDB COMMENT='Servicegroup members';";
1788+ $sql[] = "
1789+ CREATE TABLE IF NOT EXISTS `npc_servicegroup_members` (
1790+ `servicegroup_member_id` int(11) NOT NULL auto_increment,
1791+ `instance_id` smallint(6) NOT NULL default '0',
1792+ `servicegroup_id` int(11) NOT NULL default '0',
1793+ `service_object_id` int(11) NOT NULL default '0',
1794+ PRIMARY KEY (`servicegroup_member_id`),
1795+ UNIQUE KEY `instance_id` (`servicegroup_id`,`service_object_id`)
1796+ ) ENGINE=MyISAM COMMENT='Servicegroup members';
1797+ ";
1798 }
1799
1800 if (!in_array('npc_servicegroups', $tables)) {
1801- $sql[] = "CREATE TABLE `npc_servicegroups` (
1802- `servicegroup_id` int(11) NOT NULL auto_increment,
1803- `instance_id` smallint(6) NOT NULL default '0',
1804- `config_type` smallint(6) NOT NULL default '0',
1805- `servicegroup_object_id` int(11) NOT NULL default '0',
1806- `alias` varchar(255) NOT NULL default '',
1807- PRIMARY KEY (`servicegroup_id`),
1808- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`servicegroup_object_id`)
1809- ) ENGINE=InnoDB COMMENT='Servicegroup definitions';";
1810+ $sql[] = "
1811+ CREATE TABLE IF NOT EXISTS `npc_servicegroups` (
1812+ `servicegroup_id` int(11) NOT NULL auto_increment,
1813+ `instance_id` smallint(6) NOT NULL default '0',
1814+ `config_type` smallint(6) NOT NULL default '0',
1815+ `servicegroup_object_id` int(11) NOT NULL default '0',
1816+ `alias` varchar(255) character set latin1 NOT NULL default '',
1817+ PRIMARY KEY (`servicegroup_id`),
1818+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`servicegroup_object_id`)
1819+ ) ENGINE=MyISAM COMMENT='Servicegroup definitions';
1820+ ";
1821 }
1822
1823 if (!in_array('npc_services', $tables)) {
1824- $sql[] = "CREATE TABLE `npc_services` (
1825- `service_id` int(11) NOT NULL auto_increment,
1826- `instance_id` smallint(6) NOT NULL default '0',
1827- `config_type` smallint(6) NOT NULL default '0',
1828- `host_object_id` int(11) NOT NULL default '0',
1829- `service_object_id` int(11) NOT NULL default '0',
1830- `display_name` varchar(64) NOT NULL default '',
1831- `check_command_object_id` int(11) NOT NULL default '0',
1832- `check_command_args` varchar(255) NOT NULL default '',
1833- `eventhandler_command_object_id` int(11) NOT NULL default '0',
1834- `eventhandler_command_args` varchar(255) NOT NULL default '',
1835- `notification_timeperiod_object_id` int(11) NOT NULL default '0',
1836- `check_timeperiod_object_id` int(11) NOT NULL default '0',
1837- `failure_prediction_options` varchar(64) NOT NULL default '',
1838- `check_interval` double NOT NULL default '0',
1839- `retry_interval` double NOT NULL default '0',
1840- `max_check_attempts` smallint(6) NOT NULL default '0',
1841- `first_notification_delay` double NOT NULL default '0',
1842- `notification_interval` double NOT NULL default '0',
1843- `notify_on_warning` smallint(6) NOT NULL default '0',
1844- `notify_on_unknown` smallint(6) NOT NULL default '0',
1845- `notify_on_critical` smallint(6) NOT NULL default '0',
1846- `notify_on_recovery` smallint(6) NOT NULL default '0',
1847- `notify_on_flapping` smallint(6) NOT NULL default '0',
1848- `notify_on_downtime` smallint(6) NOT NULL default '0',
1849- `stalk_on_ok` smallint(6) NOT NULL default '0',
1850- `stalk_on_warning` smallint(6) NOT NULL default '0',
1851- `stalk_on_unknown` smallint(6) NOT NULL default '0',
1852- `stalk_on_critical` smallint(6) NOT NULL default '0',
1853- `is_volatile` smallint(6) NOT NULL default '0',
1854- `flap_detection_enabled` smallint(6) NOT NULL default '0',
1855- `flap_detection_on_ok` smallint(6) NOT NULL default '0',
1856- `flap_detection_on_warning` smallint(6) NOT NULL default '0',
1857- `flap_detection_on_unknown` smallint(6) NOT NULL default '0',
1858- `flap_detection_on_critical` smallint(6) NOT NULL default '0',
1859- `low_flap_threshold` double NOT NULL default '0',
1860- `high_flap_threshold` double NOT NULL default '0',
1861- `process_performance_data` smallint(6) NOT NULL default '0',
1862- `freshness_checks_enabled` smallint(6) NOT NULL default '0',
1863- `freshness_threshold` smallint(6) NOT NULL default '0',
1864- `passive_checks_enabled` smallint(6) NOT NULL default '0',
1865- `event_handler_enabled` smallint(6) NOT NULL default '0',
1866- `active_checks_enabled` smallint(6) NOT NULL default '0',
1867- `retain_status_information` smallint(6) NOT NULL default '0',
1868- `retain_nonstatus_information` smallint(6) NOT NULL default '0',
1869- `notifications_enabled` smallint(6) NOT NULL default '0',
1870- `obsess_over_service` smallint(6) NOT NULL default '0',
1871- `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1872- `notes` varchar(255) NOT NULL default '',
1873- `notes_url` varchar(255) NOT NULL default '',
1874- `action_url` varchar(255) NOT NULL default '',
1875- `icon_image` varchar(255) NOT NULL default '',
1876- `icon_image_alt` varchar(255) NOT NULL default '',
1877- PRIMARY KEY (`service_id`),
1878- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`),
1879- KEY `idx1` (`config_type`),
1880- KEY `idx2` (`host_object_id`),
1881- KEY `idx3` (`service_object_id`)
1882- ) ENGINE=InnoDB COMMENT='Service definitions';";
1883+ $sql[] = "
1884+ CREATE TABLE IF NOT EXISTS `npc_services` (
1885+ `service_id` int(11) NOT NULL auto_increment,
1886+ `instance_id` smallint(6) NOT NULL default '0',
1887+ `config_type` smallint(6) NOT NULL default '0',
1888+ `host_object_id` int(11) NOT NULL default '0',
1889+ `service_object_id` int(11) NOT NULL default '0',
1890+ `display_name` varchar(64) character set latin1 NOT NULL default '',
1891+ `check_command_object_id` int(11) NOT NULL default '0',
1892+ `check_command_args` varchar(255) character set latin1 NOT NULL default '',
1893+ `eventhandler_command_object_id` int(11) NOT NULL default '0',
1894+ `eventhandler_command_args` varchar(255) character set latin1 NOT NULL default '',
1895+ `notification_timeperiod_object_id` int(11) NOT NULL default '0',
1896+ `check_timeperiod_object_id` int(11) NOT NULL default '0',
1897+ `failure_prediction_options` varchar(64) character set latin1 NOT NULL default '',
1898+ `check_interval` double NOT NULL default '0',
1899+ `retry_interval` double NOT NULL default '0',
1900+ `max_check_attempts` smallint(6) NOT NULL default '0',
1901+ `first_notification_delay` double NOT NULL default '0',
1902+ `notification_interval` double NOT NULL default '0',
1903+ `notify_on_warning` smallint(6) NOT NULL default '0',
1904+ `notify_on_unknown` smallint(6) NOT NULL default '0',
1905+ `notify_on_critical` smallint(6) NOT NULL default '0',
1906+ `notify_on_recovery` smallint(6) NOT NULL default '0',
1907+ `notify_on_flapping` smallint(6) NOT NULL default '0',
1908+ `notify_on_downtime` smallint(6) NOT NULL default '0',
1909+ `stalk_on_ok` smallint(6) NOT NULL default '0',
1910+ `stalk_on_warning` smallint(6) NOT NULL default '0',
1911+ `stalk_on_unknown` smallint(6) NOT NULL default '0',
1912+ `stalk_on_critical` smallint(6) NOT NULL default '0',
1913+ `is_volatile` smallint(6) NOT NULL default '0',
1914+ `flap_detection_enabled` smallint(6) NOT NULL default '0',
1915+ `flap_detection_on_ok` smallint(6) NOT NULL default '0',
1916+ `flap_detection_on_warning` smallint(6) NOT NULL default '0',
1917+ `flap_detection_on_unknown` smallint(6) NOT NULL default '0',
1918+ `flap_detection_on_critical` smallint(6) NOT NULL default '0',
1919+ `low_flap_threshold` double NOT NULL default '0',
1920+ `high_flap_threshold` double NOT NULL default '0',
1921+ `process_performance_data` smallint(6) NOT NULL default '0',
1922+ `freshness_checks_enabled` smallint(6) NOT NULL default '0',
1923+ `freshness_threshold` smallint(6) NOT NULL default '0',
1924+ `passive_checks_enabled` smallint(6) NOT NULL default '0',
1925+ `event_handler_enabled` smallint(6) NOT NULL default '0',
1926+ `active_checks_enabled` smallint(6) NOT NULL default '0',
1927+ `retain_status_information` smallint(6) NOT NULL default '0',
1928+ `retain_nonstatus_information` smallint(6) NOT NULL default '0',
1929+ `notifications_enabled` smallint(6) NOT NULL default '0',
1930+ `obsess_over_service` smallint(6) NOT NULL default '0',
1931+ `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1932+ `notes` varchar(255) character set latin1 NOT NULL default '',
1933+ `notes_url` varchar(255) character set latin1 NOT NULL default '',
1934+ `action_url` varchar(255) character set latin1 NOT NULL default '',
1935+ `icon_image` varchar(255) character set latin1 NOT NULL default '',
1936+ `icon_image_alt` varchar(255) character set latin1 NOT NULL default '',
1937+ PRIMARY KEY (`service_id`),
1938+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`),
1939+ KEY `service_object_id` (`service_object_id`)
1940+ ) ENGINE=MyISAM COMMENT='Service definitions';
1941+ ";
1942+
1943+ $sql[] = "CREATE INDEX idx1 ON npc_services(config_type);";
1944+ $sql[] = "CREATE INDEX idx2 ON npc_services(host_object_id);";
1945+ $sql[] = "CREATE INDEX idx3 ON npc_services(service_object_id);";
1946 }
1947
1948 if (!in_array('npc_servicestatus', $tables)) {
1949- $sql[] = "CREATE TABLE `npc_servicestatus` (
1950- `servicestatus_id` int(11) NOT NULL auto_increment,
1951- `instance_id` smallint(6) NOT NULL default '0',
1952- `service_object_id` int(11) NOT NULL default '0',
1953- `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
1954- `output` varchar(255) NOT NULL default '',
1955- `perfdata` varchar(255) NOT NULL default '',
1956- `current_state` smallint(6) NOT NULL default '0',
1957- `has_been_checked` smallint(6) NOT NULL default '0',
1958- `should_be_scheduled` smallint(6) NOT NULL default '0',
1959- `current_check_attempt` smallint(6) NOT NULL default '0',
1960- `max_check_attempts` smallint(6) NOT NULL default '0',
1961- `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
1962- `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
1963- `check_type` smallint(6) NOT NULL default '0',
1964- `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
1965- `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
1966- `last_hard_state` smallint(6) NOT NULL default '0',
1967- `last_time_ok` datetime NOT NULL default '0000-00-00 00:00:00',
1968- `last_time_warning` datetime NOT NULL default '0000-00-00 00:00:00',
1969- `last_time_unknown` datetime NOT NULL default '0000-00-00 00:00:00',
1970- `last_time_critical` datetime NOT NULL default '0000-00-00 00:00:00',
1971- `state_type` smallint(6) NOT NULL default '0',
1972- `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
1973- `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
1974- `no_more_notifications` smallint(6) NOT NULL default '0',
1975- `notifications_enabled` smallint(6) NOT NULL default '0',
1976- `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
1977- `acknowledgement_type` smallint(6) NOT NULL default '0',
1978- `current_notification_number` smallint(6) NOT NULL default '0',
1979- `passive_checks_enabled` smallint(6) NOT NULL default '0',
1980- `active_checks_enabled` smallint(6) NOT NULL default '0',
1981- `event_handler_enabled` smallint(6) NOT NULL default '0',
1982- `flap_detection_enabled` smallint(6) NOT NULL default '0',
1983- `is_flapping` smallint(6) NOT NULL default '0',
1984- `percent_state_change` double NOT NULL default '0',
1985- `latency` double NOT NULL default '0',
1986- `execution_time` double NOT NULL default '0',
1987- `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
1988- `failure_prediction_enabled` smallint(6) NOT NULL default '0',
1989- `process_performance_data` smallint(6) NOT NULL default '0',
1990- `obsess_over_service` smallint(6) NOT NULL default '0',
1991- `modified_service_attributes` int(11) NOT NULL default '0',
1992- `event_handler` varchar(255) NOT NULL default '',
1993- `check_command` varchar(255) NOT NULL default '',
1994- `normal_check_interval` double NOT NULL default '0',
1995- `retry_check_interval` double NOT NULL default '0',
1996- `check_timeperiod_object_id` int(11) NOT NULL default '0',
1997- PRIMARY KEY (`servicestatus_id`),
1998- UNIQUE KEY `object_id` (`service_object_id`),
1999- KEY `idx1` (`current_state`)
2000- ) ENGINE=InnoDB COMMENT='Current service status information';";
2001+ $sql[] = "
2002+ CREATE TABLE IF NOT EXISTS `npc_servicestatus` (
2003+ `servicestatus_id` int(11) NOT NULL auto_increment,
2004+ `instance_id` smallint(6) NOT NULL default '0',
2005+ `service_object_id` int(11) NOT NULL default '0',
2006+ `status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
2007+ `output` varchar(255) character set latin1 NOT NULL default '',
2008+ `long_output` TEXT NOT NULL default '',
2009+ `perfdata` TEXT character set latin1 NOT NULL default '',
2010+ `current_state` smallint(6) NOT NULL default '0',
2011+ `has_been_checked` smallint(6) NOT NULL default '0',
2012+ `should_be_scheduled` smallint(6) NOT NULL default '0',
2013+ `current_check_attempt` smallint(6) NOT NULL default '0',
2014+ `max_check_attempts` smallint(6) NOT NULL default '0',
2015+ `last_check` datetime NOT NULL default '0000-00-00 00:00:00',
2016+ `next_check` datetime NOT NULL default '0000-00-00 00:00:00',
2017+ `check_type` smallint(6) NOT NULL default '0',
2018+ `last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
2019+ `last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
2020+ `last_hard_state` smallint(6) NOT NULL default '0',
2021+ `last_time_ok` datetime NOT NULL default '0000-00-00 00:00:00',
2022+ `last_time_warning` datetime NOT NULL default '0000-00-00 00:00:00',
2023+ `last_time_unknown` datetime NOT NULL default '0000-00-00 00:00:00',
2024+ `last_time_critical` datetime NOT NULL default '0000-00-00 00:00:00',
2025+ `state_type` smallint(6) NOT NULL default '0',
2026+ `last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
2027+ `next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
2028+ `no_more_notifications` smallint(6) NOT NULL default '0',
2029+ `notifications_enabled` smallint(6) NOT NULL default '0',
2030+ `problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
2031+ `acknowledgement_type` smallint(6) NOT NULL default '0',
2032+ `current_notification_number` smallint(6) NOT NULL default '0',
2033+ `passive_checks_enabled` smallint(6) NOT NULL default '0',
2034+ `active_checks_enabled` smallint(6) NOT NULL default '0',
2035+ `event_handler_enabled` smallint(6) NOT NULL default '0',
2036+ `flap_detection_enabled` smallint(6) NOT NULL default '0',
2037+ `is_flapping` smallint(6) NOT NULL default '0',
2038+ `percent_state_change` double NOT NULL default '0',
2039+ `latency` double NOT NULL default '0',
2040+ `execution_time` double NOT NULL default '0',
2041+ `scheduled_downtime_depth` smallint(6) NOT NULL default '0',
2042+ `failure_prediction_enabled` smallint(6) NOT NULL default '0',
2043+ `process_performance_data` smallint(6) NOT NULL default '0',
2044+ `obsess_over_service` smallint(6) NOT NULL default '0',
2045+ `modified_service_attributes` int(11) NOT NULL default '0',
2046+ `event_handler` varchar(255) character set latin1 NOT NULL default '',
2047+ `check_command` varchar(255) character set latin1 NOT NULL default '',
2048+ `normal_check_interval` double NOT NULL default '0',
2049+ `retry_check_interval` double NOT NULL default '0',
2050+ `check_timeperiod_object_id` int(11) NOT NULL default '0',
2051+ PRIMARY KEY (`servicestatus_id`),
2052+ UNIQUE KEY `object_id` (`service_object_id`),
2053+ KEY `instance_id` (`instance_id`),
2054+ KEY `status_update_time` (`status_update_time`),
2055+ KEY `current_state` (`current_state`),
2056+ KEY `check_type` (`check_type`),
2057+ KEY `state_type` (`state_type`),
2058+ KEY `last_state_change` (`last_state_change`),
2059+ KEY `notifications_enabled` (`notifications_enabled`),
2060+ KEY `problem_has_been_acknowledged` (`problem_has_been_acknowledged`),
2061+ KEY `active_checks_enabled` (`active_checks_enabled`),
2062+ KEY `passive_checks_enabled` (`passive_checks_enabled`),
2063+ KEY `event_handler_enabled` (`event_handler_enabled`),
2064+ KEY `flap_detection_enabled` (`flap_detection_enabled`),
2065+ KEY `is_flapping` (`is_flapping`),
2066+ KEY `percent_state_change` (`percent_state_change`),
2067+ KEY `latency` (`latency`),
2068+ KEY `execution_time` (`execution_time`),
2069+ KEY `scheduled_downtime_depth` (`scheduled_downtime_depth`)
2070+ ) ENGINE=MyISAM COMMENT='Current service status information';
2071+ ";
2072+ $sql[] = "CREATE INDEX idx1 ON npc_servicestatus(current_state);";
2073 }
2074
2075 if (!in_array('npc_statehistory', $tables)) {
2076- $sql[] = "CREATE TABLE `npc_statehistory` (
2077- `statehistory_id` int(11) NOT NULL auto_increment,
2078- `instance_id` smallint(6) NOT NULL default '0',
2079- `state_time` datetime NOT NULL default '0000-00-00 00:00:00',
2080- `state_time_usec` int(11) NOT NULL default '0',
2081- `object_id` int(11) NOT NULL default '0',
2082- `state_change` smallint(6) NOT NULL default '0',
2083- `state` smallint(6) NOT NULL default '0',
2084- `state_type` smallint(6) NOT NULL default '0',
2085- `current_check_attempt` smallint(6) NOT NULL default '0',
2086- `max_check_attempts` smallint(6) NOT NULL default '0',
2087- `last_state` smallint(6) NOT NULL default '-1',
2088- `last_hard_state` smallint(6) NOT NULL default '-1',
2089- `output` varchar(255) NOT NULL default '',
2090- PRIMARY KEY (`statehistory_id`)
2091- ) ENGINE=InnoDB COMMENT='Historical host and service state changes';";
2092+ $sql[] = "
2093+ CREATE TABLE IF NOT EXISTS `npc_statehistory` (
2094+ `statehistory_id` int(11) NOT NULL auto_increment,
2095+ `instance_id` smallint(6) NOT NULL default '0',
2096+ `state_time` datetime NOT NULL default '0000-00-00 00:00:00',
2097+ `state_time_usec` int(11) NOT NULL default '0',
2098+ `object_id` int(11) NOT NULL default '0',
2099+ `state_change` smallint(6) NOT NULL default '0',
2100+ `state` smallint(6) NOT NULL default '0',
2101+ `state_type` smallint(6) NOT NULL default '0',
2102+ `current_check_attempt` smallint(6) NOT NULL default '0',
2103+ `max_check_attempts` smallint(6) NOT NULL default '0',
2104+ `last_state` smallint(6) NOT NULL default '-1',
2105+ `last_hard_state` smallint(6) NOT NULL default '-1',
2106+ `output` varchar(255) character set latin1 NOT NULL default '',
2107+ `long_output` TEXT NOT NULL default '',
2108+ PRIMARY KEY (`statehistory_id`)
2109+ ) ENGINE=MyISAM COMMENT='Historical host and service state changes';
2110+ ";
2111 }
2112
2113 if (!in_array('npc_systemcommands', $tables)) {
2114- $sql[] = "CREATE TABLE `npc_systemcommands` (
2115- `systemcommand_id` int(11) NOT NULL auto_increment,
2116- `instance_id` smallint(6) NOT NULL default '0',
2117- `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
2118- `start_time_usec` int(11) NOT NULL default '0',
2119- `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
2120- `end_time_usec` int(11) NOT NULL default '0',
2121- `command_line` varchar(255) NOT NULL default '',
2122- `timeout` smallint(6) NOT NULL default '0',
2123- `early_timeout` smallint(6) NOT NULL default '0',
2124- `execution_time` double NOT NULL default '0',
2125- `return_code` smallint(6) NOT NULL default '0',
2126- `output` varchar(255) NOT NULL default '',
2127- PRIMARY KEY (`systemcommand_id`),
2128- UNIQUE KEY `instance_id` (`instance_id`,`start_time`,`start_time_usec`)
2129- ) ENGINE=InnoDB COMMENT='Historical system commands that are executed';";
2130+ $sql[] = "
2131+ CREATE TABLE IF NOT EXISTS `npc_systemcommands` (
2132+ `systemcommand_id` int(11) NOT NULL auto_increment,
2133+ `instance_id` smallint(6) NOT NULL default '0',
2134+ `start_time` datetime NOT NULL default '0000-00-00 00:00:00',
2135+ `start_time_usec` int(11) NOT NULL default '0',
2136+ `end_time` datetime NOT NULL default '0000-00-00 00:00:00',
2137+ `end_time_usec` int(11) NOT NULL default '0',
2138+ `command_line` varchar(255) character set latin1 NOT NULL default '',
2139+ `timeout` smallint(6) NOT NULL default '0',
2140+ `early_timeout` smallint(6) NOT NULL default '0',
2141+ `execution_time` double NOT NULL default '0',
2142+ `return_code` smallint(6) NOT NULL default '0',
2143+ `output` varchar(255) character set latin1 NOT NULL default '',
2144+ `long_output` TEXT NOT NULL default '',
2145+ PRIMARY KEY (`systemcommand_id`),
2146+ KEY `instance_id` (`instance_id`),
2147+ KEY `start_time` (`start_time`)
2148+ ) ENGINE=MyISAM COMMENT='Historical system commands that are executed';
2149+ ";
2150+ // FIXME? $sql[] = "UNIQUE KEY `instance_id` (`instance_id`,`start_time`,`start_time_usec`)";
2151 }
2152
2153 if (!in_array('npc_timedeventqueue', $tables)) {
2154- $sql[] = "CREATE TABLE `npc_timedeventqueue` (
2155- `timedeventqueue_id` int(11) NOT NULL auto_increment,
2156- `instance_id` smallint(6) NOT NULL default '0',
2157- `event_type` smallint(6) NOT NULL default '0',
2158- `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
2159- `queued_time_usec` int(11) NOT NULL default '0',
2160- `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
2161- `recurring_event` smallint(6) NOT NULL default '0',
2162- `object_id` int(11) NOT NULL default '0',
2163- PRIMARY KEY (`timedeventqueue_id`)
2164- ) ENGINE=InnoDB COMMENT='Current Nagios event queue';";
2165+ $sql[] = "
2166+ CREATE TABLE IF NOT EXISTS `npc_timedeventqueue` (
2167+ `timedeventqueue_id` int(11) NOT NULL auto_increment,
2168+ `instance_id` smallint(6) NOT NULL default '0',
2169+ `event_type` smallint(6) NOT NULL default '0',
2170+ `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
2171+ `queued_time_usec` int(11) NOT NULL default '0',
2172+ `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
2173+ `recurring_event` smallint(6) NOT NULL default '0',
2174+ `object_id` int(11) NOT NULL default '0',
2175+ PRIMARY KEY (`timedeventqueue_id`),
2176+ KEY `instance_id` (`instance_id`),
2177+ KEY `event_type` (`event_type`),
2178+ KEY `scheduled_time` (`scheduled_time`),
2179+ KEY `object_id` (`object_id`)
2180+ ) ENGINE=MyISAM COMMENT='Current Nagios event queue';
2181+ ";
2182 }
2183
2184 if (!in_array('npc_timedevents', $tables)) {
2185- $sql[] = "CREATE TABLE `npc_timedevents` (
2186- `timedevent_id` int(11) NOT NULL auto_increment,
2187- `instance_id` smallint(6) NOT NULL default '0',
2188- `event_type` smallint(6) NOT NULL default '0',
2189- `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
2190- `queued_time_usec` int(11) NOT NULL default '0',
2191- `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
2192- `event_time_usec` int(11) NOT NULL default '0',
2193- `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
2194- `recurring_event` smallint(6) NOT NULL default '0',
2195- `object_id` int(11) NOT NULL default '0',
2196- `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
2197- `deletion_time_usec` int(11) NOT NULL default '0',
2198- PRIMARY KEY (`timedevent_id`),
2199- UNIQUE KEY `instance_id` (`instance_id`,`event_type`,`scheduled_time`,`object_id`)
2200- ) ENGINE=InnoDB COMMENT='Historical events from the Nagios event queue';";
2201+ $sql[] = "
2202+ CREATE TABLE IF NOT EXISTS `npc_timedevents` (
2203+ `timedevent_id` int(11) NOT NULL auto_increment,
2204+ `instance_id` smallint(6) NOT NULL default '0',
2205+ `event_type` smallint(6) NOT NULL default '0',
2206+ `queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
2207+ `queued_time_usec` int(11) NOT NULL default '0',
2208+ `event_time` datetime NOT NULL default '0000-00-00 00:00:00',
2209+ `event_time_usec` int(11) NOT NULL default '0',
2210+ `scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
2211+ `recurring_event` smallint(6) NOT NULL default '0',
2212+ `object_id` int(11) NOT NULL default '0',
2213+ `deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
2214+ `deletion_time_usec` int(11) NOT NULL default '0',
2215+ PRIMARY KEY (`timedevent_id`),
2216+ KEY `instance_id` (`instance_id`),
2217+ KEY `event_type` (`event_type`),
2218+ KEY `scheduled_time` (`scheduled_time`),
2219+ KEY `object_id` (`object_id`)
2220+ ) ENGINE=MyISAM COMMENT='Historical events from the Nagios event queue';
2221+ ";
2222+ // FIXME? $sql[] = "UNIQUE KEY `instance_id` (`instance_id`,`event_type`,`scheduled_time`,`object_id`)";
2223 }
2224
2225 if (!in_array('npc_timeperiod_timeranges', $tables)) {
2226- $sql[] = "CREATE TABLE `npc_timeperiod_timeranges` (
2227- `timeperiod_timerange_id` int(11) NOT NULL auto_increment,
2228- `instance_id` smallint(6) NOT NULL default '0',
2229- `timeperiod_id` int(11) NOT NULL default '0',
2230- `day` smallint(6) NOT NULL default '0',
2231- `start_sec` int(11) NOT NULL default '0',
2232- `end_sec` int(11) NOT NULL default '0',
2233- PRIMARY KEY (`timeperiod_timerange_id`),
2234- UNIQUE KEY `instance_id` (`timeperiod_id`,`day`,`start_sec`,`end_sec`)
2235- ) ENGINE=InnoDB COMMENT='Timeperiod definitions';";
2236+ $sql[] = "
2237+ CREATE TABLE IF NOT EXISTS `npc_timeperiod_timeranges` (
2238+ `timeperiod_timerange_id` int(11) NOT NULL auto_increment,
2239+ `instance_id` smallint(6) NOT NULL default '0',
2240+ `timeperiod_id` int(11) NOT NULL default '0',
2241+ `day` smallint(6) NOT NULL default '0',
2242+ `start_sec` int(11) NOT NULL default '0',
2243+ `end_sec` int(11) NOT NULL default '0',
2244+ PRIMARY KEY (`timeperiod_timerange_id`),
2245+ UNIQUE KEY `instance_id` (`timeperiod_id`,`day`,`start_sec`,`end_sec`)
2246+ ) ENGINE=MyISAM COMMENT='Timeperiod definitions';
2247+ ";
2248 }
2249
2250 if (!in_array('npc_timeperiods', $tables)) {
2251- $sql[] = "CREATE TABLE `npc_timeperiods` (
2252- `timeperiod_id` int(11) NOT NULL auto_increment,
2253- `instance_id` smallint(6) NOT NULL default '0',
2254- `config_type` smallint(6) NOT NULL default '0',
2255- `timeperiod_object_id` int(11) NOT NULL default '0',
2256- `alias` varchar(255) NOT NULL default '',
2257- PRIMARY KEY (`timeperiod_id`),
2258- UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`timeperiod_object_id`)
2259- ) ENGINE=InnoDB COMMENT='Timeperiod definitions';";
2260+ $sql[] = "
2261+ CREATE TABLE IF NOT EXISTS `npc_timeperiods` (
2262+ `timeperiod_id` int(11) NOT NULL auto_increment,
2263+ `instance_id` smallint(6) NOT NULL default '0',
2264+ `config_type` smallint(6) NOT NULL default '0',
2265+ `timeperiod_object_id` int(11) NOT NULL default '0',
2266+ `alias` varchar(255) character set latin1 NOT NULL default '',
2267+ PRIMARY KEY (`timeperiod_id`),
2268+ UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`timeperiod_object_id`)
2269+ ) ENGINE=MyISAM COMMENT='Timeperiod definitions';
2270+ ";
2271 }
2272
2273+ // Cacti only: npc_service_graphs
2274 if (!in_array('npc_service_graphs', $tables)) {
2275- $sql[] = "CREATE TABLE `npc_service_graphs` (
2276- `service_graph_id` int(11) NOT NULL auto_increment,
2277- `service_object_id` int(11) NOT NULL,
2278- `local_graph_id` mediumint(8) unsigned NOT NULL,
2279- `pri` tinyint(1) default 1,
2280- PRIMARY KEY (`service_graph_id`),
2281- KEY `idx1` (`service_object_id`)
2282- ) ENGINE=InnoDB;";
2283+ $sql[] = "
2284+ CREATE TABLE `npc_service_graphs` (
2285+ `service_graph_id` int(11) NOT NULL auto_increment,
2286+ `service_object_id` int(11) NOT NULL,
2287+ `local_graph_id` mediumint(8) unsigned NOT NULL,
2288+ `pri` tinyint(1) default 1,
2289+ PRIMARY KEY (`service_graph_id`),
2290+ KEY `idx1` (`service_object_id`)
2291+ ) ENGINE=MyISAM;
2292+ ";
2293 }
2294
2295+ // Cacti only: npc_host_graphs
2296 if (!in_array('npc_host_graphs', $tables)) {
2297- $sql[] = "CREATE TABLE `npc_host_graphs` (
2298- `host_graph_id` int(11) NOT NULL auto_increment,
2299- `host_object_id` int(11) NOT NULL,
2300- `local_graph_id` mediumint(8) unsigned NOT NULL,
2301- `pri` tinyint(1) default 1,
2302- PRIMARY KEY (`host_graph_id`),
2303- KEY `idx1` (`host_object_id`)
2304- ) ENGINE=InnoDB;";
2305+ $sql[] = "
2306+ CREATE TABLE `npc_host_graphs` (
2307+ `host_graph_id` int(11) NOT NULL auto_increment,
2308+ `host_object_id` int(11) NOT NULL,
2309+ `local_graph_id` mediumint(8) unsigned NOT NULL,
2310+ `pri` tinyint(1) default 1,
2311+ PRIMARY KEY (`host_graph_id`),
2312+ KEY `idx1` (`host_object_id`)
2313+ ) ENGINE=MyISAM;
2314+ ";
2315 }
2316
2317+ // Cacti only: npc_settings
2318 if (!in_array('npc_settings', $tables)) {
2319- $sql[] = "CREATE TABLE `npc_settings` (
2320- `user_id` mediumint(8) unsigned NOT NULL,
2321- `settings` text default null,
2322- PRIMARY KEY (`user_id`)
2323- ) ENGINE=InnoDB COMMENT='NPC user settings';";
2324- } else {
2325-
2326+ $sql[] = "
2327+ CREATE TABLE `npc_settings` (
2328+ `user_id` mediumint(8) unsigned NOT NULL,
2329+ `settings` text default null,
2330+ PRIMARY KEY (`user_id`)
2331+ ) ENGINE=MyISAM COMMENT='NPC user settings';
2332+ ";
2333 }
2334
2335 if (!empty($sql)) {
2336- for ($a = 0; $a < count($sql); $a++) {
2337- $result = db_execute($sql[$a]);
2338+ foreach ($sql as $query) {
2339+ db_execute($query);
2340 }
2341 }
2342 }
2343@@ -1477,7 +1661,7 @@
2344 global $config;
2345
2346 if (isset($_SESSION["sess_user_id"])) {
2347-
2348+
2349 $user_id = $_SESSION["sess_user_id"];
2350
2351 $npc_realm = db_fetch_cell("SELECT id FROM plugin_config WHERE directory = 'npc'");
2352@@ -1488,8 +1672,8 @@
2353 $cp = false;
2354 if (basename($_SERVER["PHP_SELF"]) == "npc.php") { $cp = true; }
2355
2356- print '<a href="' . $config['url_path'] . 'plugins/npc/npc.php"><img src="'
2357- . $config['url_path'] . 'plugins/npc/images/tab_npc'
2358+ print '<a href="' . $config['url_path'] . 'plugins/npc/npc.php"><img src="'
2359+ . $config['url_path'] . 'plugins/npc/images/tab_npc'
2360 . ($cp ? "_down": "") . '.gif" alt="npc" align="absmiddle" border="0"></a>';
2361 }
2362 }
2363@@ -1502,7 +1686,7 @@
2364 global $npc_config_type;
2365
2366 if (isset($_SESSION["sess_user_id"])) {
2367-
2368+
2369 $user_id = $_SESSION["sess_user_id"];
2370
2371 $npc_realm = db_fetch_cell("SELECT id FROM plugin_config WHERE directory = 'npc'");
2372@@ -1516,10 +1700,10 @@
2373 //npc_upgrade_tables ();
2374
2375 // Add a new realm
2376- if ($old_npc_version != '2.0.2' || $old_npc_version != '2.0.3') {
2377+ if ($old_npc_version != '2.0.2' || $old_npc_version != '2.0.3') {
2378 api_plugin_register_realm ('npc', 'npc1.php', 'NPC Global Commands', 1);
2379 }
2380-
2381+
2382 // Reset stored cookie values.
2383 db_execute("DELETE FROM npc_settings");
2384
2385@@ -1562,7 +1746,7 @@
2386 "description" => "The path to the Nagios command file (nagios.cmd).",
2387 "method" => "textbox",
2388 "max_length" => 255,
2389- ),
2390+ ),
2391 "npc_nagios_url" => array(
2392 "friendly_name" => "Nagios URL",
2393 "description" => "The full URL to your Nagios installation (http://nagios.company.com/nagios/)",
This page took 0.507484 seconds and 4 git commands to generate.