diff --git a/lib/db_ido_mysql/schema/mysql.sql b/lib/db_ido_mysql/schema/mysql.sql index c4671478b..97c993101 100644 --- a/lib/db_ido_mysql/schema/mysql.sql +++ b/lib/db_ido_mysql/schema/mysql.sql @@ -28,7 +28,7 @@ SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; CREATE TABLE IF NOT EXISTS icinga_acknowledgements ( acknowledgement_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - entry_time timestamp default '0000-00-00 00:00:00', + entry_time timestamp NULL DEFAULT NULL, entry_time_usec int default 0, acknowledgement_type smallint default 0, object_id bigint unsigned default 0, @@ -38,7 +38,7 @@ CREATE TABLE IF NOT EXISTS icinga_acknowledgements ( is_sticky smallint default 0, persistent_comment smallint default 0, notify_contacts smallint default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, PRIMARY KEY (acknowledgement_id) ) ENGINE=InnoDB COMMENT='Current and historical host and service acknowledgements'; @@ -68,20 +68,20 @@ CREATE TABLE IF NOT EXISTS icinga_commands ( CREATE TABLE IF NOT EXISTS icinga_commenthistory ( commenthistory_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - entry_time timestamp default '0000-00-00 00:00:00', + entry_time timestamp NULL DEFAULT NULL, entry_time_usec int default 0, comment_type smallint default 0, entry_type smallint default 0, object_id bigint unsigned default 0, - comment_time timestamp default '0000-00-00 00:00:00', + comment_time timestamp NULL DEFAULT NULL, internal_comment_id bigint unsigned default 0, author_name varchar(64) character set latin1 default '', comment_data TEXT character set latin1 default '', is_persistent smallint default 0, comment_source smallint default 0, expires smallint default 0, - expiration_time timestamp default '0000-00-00 00:00:00', - deletion_time timestamp default '0000-00-00 00:00:00', + expiration_time timestamp NULL DEFAULT NULL, + deletion_time timestamp NULL DEFAULT NULL, deletion_time_usec int default 0, name TEXT character set latin1 default NULL, PRIMARY KEY (commenthistory_id), @@ -97,19 +97,19 @@ CREATE TABLE IF NOT EXISTS icinga_commenthistory ( CREATE TABLE IF NOT EXISTS icinga_comments ( comment_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - entry_time timestamp default '0000-00-00 00:00:00', + entry_time timestamp NULL DEFAULT NULL, entry_time_usec int default 0, comment_type smallint default 0, entry_type smallint default 0, object_id bigint unsigned default 0, - comment_time timestamp default '0000-00-00 00:00:00', + comment_time timestamp NULL DEFAULT NULL, internal_comment_id bigint unsigned default 0, author_name varchar(64) character set latin1 default '', comment_data TEXT character set latin1 default '', is_persistent smallint default 0, comment_source smallint default 0, expires smallint default 0, - expiration_time timestamp default '0000-00-00 00:00:00', + expiration_time timestamp NULL DEFAULT NULL, name TEXT character set latin1 default NULL, session_token int default NULL, PRIMARY KEY (comment_id), @@ -160,11 +160,11 @@ CREATE TABLE IF NOT EXISTS icinga_conninfo ( disposition varchar(32) character set latin1 default '', connect_source varchar(32) character set latin1 default '', connect_type varchar(32) character set latin1 default '', - connect_time timestamp default '0000-00-00 00:00:00', - disconnect_time timestamp default '0000-00-00 00:00:00', - last_checkin_time timestamp default '0000-00-00 00:00:00', - data_start_time timestamp default '0000-00-00 00:00:00', - data_end_time timestamp default '0000-00-00 00:00:00', + connect_time timestamp NULL DEFAULT NULL, + disconnect_time timestamp NULL DEFAULT NULL, + last_checkin_time timestamp NULL DEFAULT NULL, + data_start_time timestamp NULL DEFAULT NULL, + data_end_time timestamp NULL DEFAULT NULL, bytes_processed bigint unsigned default '0', lines_processed bigint unsigned default '0', entries_processed bigint unsigned default '0', @@ -212,9 +212,9 @@ CREATE TABLE IF NOT EXISTS icinga_contactnotificationmethods ( contactnotificationmethod_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, contactnotification_id bigint unsigned default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, command_object_id bigint unsigned default 0, command_args TEXT character set latin1 default '', @@ -233,9 +233,9 @@ CREATE TABLE IF NOT EXISTS icinga_contactnotifications ( instance_id bigint unsigned default 0, notification_id bigint unsigned default 0, contact_object_id bigint unsigned default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, PRIMARY KEY (contactnotification_id), UNIQUE KEY instance_id (instance_id,contact_object_id,start_time,start_time_usec) @@ -286,11 +286,11 @@ CREATE TABLE IF NOT EXISTS icinga_contactstatus ( contactstatus_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, contact_object_id bigint unsigned default 0, - status_update_time timestamp default '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, host_notifications_enabled smallint default 0, service_notifications_enabled smallint default 0, - last_host_notification timestamp default '0000-00-00 00:00:00', - last_service_notification timestamp default '0000-00-00 00:00:00', + last_host_notification timestamp NULL DEFAULT NULL, + last_service_notification timestamp NULL DEFAULT NULL, modified_attributes int default 0, modified_host_attributes int default 0, modified_service_attributes int default 0, @@ -361,7 +361,7 @@ CREATE TABLE IF NOT EXISTS icinga_customvariablestatus ( customvariablestatus_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, object_id bigint unsigned default 0, - status_update_time timestamp default '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, has_been_modified smallint default 0, varname varchar(255) character set latin1 collate latin1_general_cs default NULL, varvalue TEXT character set latin1 default '', @@ -381,8 +381,8 @@ CREATE TABLE IF NOT EXISTS icinga_dbversion ( dbversion_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, name varchar(10) character set latin1 default '', version varchar(10) character set latin1 default '', - create_time timestamp default '0000-00-00 00:00:00', - modify_time timestamp default '0000-00-00 00:00:00', + create_time timestamp NULL DEFAULT NULL, + modify_time timestamp NULL DEFAULT NULL, PRIMARY KEY (dbversion_id), UNIQUE KEY dbversion (name) ) ENGINE=InnoDB; @@ -398,23 +398,23 @@ CREATE TABLE IF NOT EXISTS icinga_downtimehistory ( instance_id bigint unsigned default 0, downtime_type smallint default 0, object_id bigint unsigned default 0, - entry_time timestamp default '0000-00-00 00:00:00', + entry_time timestamp NULL DEFAULT NULL, author_name varchar(64) character set latin1 default '', comment_data TEXT character set latin1 default '', internal_downtime_id bigint unsigned default 0, triggered_by_id bigint unsigned default 0, is_fixed smallint default 0, duration bigint(20) default 0, - scheduled_start_time timestamp default '0000-00-00 00:00:00', - scheduled_end_time timestamp default '0000-00-00 00:00:00', + scheduled_start_time timestamp NULL DEFAULT NULL, + scheduled_end_time timestamp NULL DEFAULT NULL, was_started smallint default 0, - actual_start_time timestamp default '0000-00-00 00:00:00', + actual_start_time timestamp NULL DEFAULT NULL, actual_start_time_usec int default 0, - actual_end_time timestamp default '0000-00-00 00:00:00', + actual_end_time timestamp NULL DEFAULT NULL, actual_end_time_usec int default 0, was_cancelled smallint default 0, is_in_effect smallint default 0, - trigger_time timestamp default '0000-00-00 00:00:00', + trigger_time timestamp NULL DEFAULT NULL, name TEXT character set latin1 default NULL, PRIMARY KEY (downtimehistory_id), UNIQUE KEY instance_id (instance_id,object_id,entry_time,internal_downtime_id) @@ -433,9 +433,9 @@ CREATE TABLE IF NOT EXISTS icinga_eventhandlers ( object_id bigint unsigned default 0, state smallint default 0, state_type smallint default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, command_object_id bigint unsigned default 0, command_args TEXT character set latin1 default '', @@ -459,7 +459,7 @@ CREATE TABLE IF NOT EXISTS icinga_eventhandlers ( CREATE TABLE IF NOT EXISTS icinga_externalcommands ( externalcommand_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - entry_time timestamp default '0000-00-00 00:00:00', + entry_time timestamp NULL DEFAULT NULL, command_type smallint default 0, command_name varchar(128) character set latin1 default '', command_args TEXT character set latin1 default '', @@ -475,7 +475,7 @@ CREATE TABLE IF NOT EXISTS icinga_externalcommands ( CREATE TABLE IF NOT EXISTS icinga_flappinghistory ( flappinghistory_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - event_time timestamp default '0000-00-00 00:00:00', + event_time timestamp NULL DEFAULT NULL, event_time_usec int default 0, event_type smallint default 0, reason_type smallint default 0, @@ -484,7 +484,7 @@ CREATE TABLE IF NOT EXISTS icinga_flappinghistory ( percent_state_change double default '0', low_threshold double default '0', high_threshold double default '0', - comment_time timestamp default '0000-00-00 00:00:00', + comment_time timestamp NULL DEFAULT NULL, internal_comment_id bigint unsigned default 0, PRIMARY KEY (flappinghistory_id) ) ENGINE=InnoDB COMMENT='Current and historical record of host and service flapping'; @@ -505,9 +505,9 @@ CREATE TABLE IF NOT EXISTS icinga_hostchecks ( max_check_attempts smallint default 0, state smallint default 0, state_type smallint default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, command_object_id bigint unsigned default 0, command_args TEXT character set latin1 default '', @@ -713,7 +713,7 @@ CREATE TABLE IF NOT EXISTS icinga_hoststatus ( hoststatus_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, host_object_id bigint unsigned default 0, - status_update_time timestamp default '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, output TEXT character set latin1 default '', long_output TEXT default '', perfdata TEXT character set latin1 default '', @@ -723,18 +723,18 @@ CREATE TABLE IF NOT EXISTS icinga_hoststatus ( should_be_scheduled smallint default 0, current_check_attempt smallint default 0, max_check_attempts smallint default 0, - last_check timestamp default '0000-00-00 00:00:00', - next_check timestamp default '0000-00-00 00:00:00', + last_check timestamp NULL DEFAULT NULL, + next_check timestamp NULL DEFAULT NULL, check_type smallint default 0, - last_state_change timestamp default '0000-00-00 00:00:00', - last_hard_state_change timestamp default '0000-00-00 00:00:00', + last_state_change timestamp NULL DEFAULT NULL, + last_hard_state_change timestamp NULL DEFAULT NULL, last_hard_state smallint default 0, - last_time_up timestamp default '0000-00-00 00:00:00', - last_time_down timestamp default '0000-00-00 00:00:00', - last_time_unreachable timestamp default '0000-00-00 00:00:00', + last_time_up timestamp NULL DEFAULT NULL, + last_time_down timestamp NULL DEFAULT NULL, + last_time_unreachable timestamp NULL DEFAULT NULL, state_type smallint default 0, - last_notification timestamp default '0000-00-00 00:00:00', - next_notification timestamp default '0000-00-00 00:00:00', + last_notification timestamp NULL DEFAULT NULL, + next_notification timestamp NULL DEFAULT NULL, no_more_notifications smallint default 0, notifications_enabled smallint default 0, problem_has_been_acknowledged smallint default 0, @@ -828,8 +828,8 @@ CREATE TABLE IF NOT EXISTS icinga_instances ( CREATE TABLE IF NOT EXISTS icinga_logentries ( logentry_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - logentry_time timestamp default '0000-00-00 00:00:00', - entry_time timestamp default '0000-00-00 00:00:00', + logentry_time timestamp NULL DEFAULT NULL, + entry_time timestamp NULL DEFAULT NULL, entry_time_usec int default 0, logentry_type int default 0, logentry_data TEXT character set latin1 default '', @@ -851,9 +851,9 @@ CREATE TABLE IF NOT EXISTS icinga_notifications ( notification_type smallint default 0, notification_reason smallint default 0, object_id bigint unsigned default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, state smallint default 0, output TEXT character set latin1 default '', @@ -891,7 +891,7 @@ CREATE TABLE IF NOT EXISTS icinga_processevents ( processevent_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, event_type smallint default 0, - event_time timestamp default '0000-00-00 00:00:00', + event_time timestamp NULL DEFAULT NULL, event_time_usec int default 0, process_id bigint unsigned default 0, program_name varchar(16) character set latin1 default '', @@ -910,17 +910,17 @@ CREATE TABLE IF NOT EXISTS icinga_programstatus ( programstatus_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, program_version varchar(64) character set latin1 collate latin1_general_cs default NULL, - status_update_time timestamp default '0000-00-00 00:00:00', - program_start_time timestamp default '0000-00-00 00:00:00', - program_end_time timestamp default '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, + program_start_time timestamp NULL DEFAULT NULL, + program_end_time timestamp NULL DEFAULT NULL, endpoint_name varchar(255) character set latin1 collate latin1_general_cs default NULL, is_currently_running smallint default 0, process_id bigint unsigned default 0, daemon_mode smallint default 0, - last_command_check timestamp default '0000-00-00 00:00:00', - last_log_rotation timestamp default '0000-00-00 00:00:00', + last_command_check timestamp NULL DEFAULT NULL, + last_log_rotation timestamp NULL DEFAULT NULL, notifications_enabled smallint default 0, - disable_notif_expire_time timestamp default '0000-00-00 00:00:00', + disable_notif_expire_time timestamp NULL DEFAULT NULL, active_service_checks_enabled smallint default 0, passive_service_checks_enabled smallint default 0, active_host_checks_enabled smallint default 0, @@ -965,20 +965,20 @@ CREATE TABLE IF NOT EXISTS icinga_scheduleddowntime ( instance_id bigint unsigned default 0, downtime_type smallint default 0, object_id bigint unsigned default 0, - entry_time timestamp default '0000-00-00 00:00:00', + entry_time timestamp NULL DEFAULT NULL, author_name varchar(64) character set latin1 default '', comment_data TEXT character set latin1 default '', internal_downtime_id bigint unsigned default 0, triggered_by_id bigint unsigned default 0, is_fixed smallint default 0, duration bigint(20) default 0, - scheduled_start_time timestamp default '0000-00-00 00:00:00', - scheduled_end_time timestamp default '0000-00-00 00:00:00', + scheduled_start_time timestamp NULL DEFAULT NULL, + scheduled_end_time timestamp NULL DEFAULT NULL, was_started smallint default 0, - actual_start_time timestamp default '0000-00-00 00:00:00', + actual_start_time timestamp NULL DEFAULT NULL, actual_start_time_usec int default 0, is_in_effect smallint default 0, - trigger_time timestamp default '0000-00-00 00:00:00', + trigger_time timestamp NULL DEFAULT NULL, name TEXT character set latin1 default NULL, session_token int default NULL, PRIMARY KEY (scheduleddowntime_id), @@ -1000,9 +1000,9 @@ CREATE TABLE IF NOT EXISTS icinga_servicechecks ( max_check_attempts smallint default 0, state smallint default 0, state_type smallint default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, command_object_id bigint unsigned default 0, command_args TEXT character set latin1 default '', @@ -1203,7 +1203,7 @@ CREATE TABLE IF NOT EXISTS icinga_servicestatus ( servicestatus_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, service_object_id bigint unsigned default 0, - status_update_time timestamp default '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, output TEXT character set latin1 default '', long_output TEXT default '', perfdata TEXT character set latin1 default '', @@ -1213,19 +1213,19 @@ CREATE TABLE IF NOT EXISTS icinga_servicestatus ( should_be_scheduled smallint default 0, current_check_attempt smallint default 0, max_check_attempts smallint default 0, - last_check timestamp default '0000-00-00 00:00:00', - next_check timestamp default '0000-00-00 00:00:00', + last_check timestamp NULL DEFAULT NULL, + next_check timestamp NULL DEFAULT NULL, check_type smallint default 0, - last_state_change timestamp default '0000-00-00 00:00:00', - last_hard_state_change timestamp default '0000-00-00 00:00:00', + last_state_change timestamp NULL DEFAULT NULL, + last_hard_state_change timestamp NULL DEFAULT NULL, last_hard_state smallint default 0, - last_time_ok timestamp default '0000-00-00 00:00:00', - last_time_warning timestamp default '0000-00-00 00:00:00', - last_time_unknown timestamp default '0000-00-00 00:00:00', - last_time_critical timestamp default '0000-00-00 00:00:00', + last_time_ok timestamp NULL DEFAULT NULL, + last_time_warning timestamp NULL DEFAULT NULL, + last_time_unknown timestamp NULL DEFAULT NULL, + last_time_critical timestamp NULL DEFAULT NULL, state_type smallint default 0, - last_notification timestamp default '0000-00-00 00:00:00', - next_notification timestamp default '0000-00-00 00:00:00', + last_notification timestamp NULL DEFAULT NULL, + next_notification timestamp NULL DEFAULT NULL, no_more_notifications smallint default 0, notifications_enabled smallint default 0, problem_has_been_acknowledged smallint default 0, @@ -1292,7 +1292,7 @@ CREATE TABLE IF NOT EXISTS icinga_service_contacts ( CREATE TABLE IF NOT EXISTS icinga_statehistory ( statehistory_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - state_time timestamp default '0000-00-00 00:00:00', + state_time timestamp NULL DEFAULT NULL, state_time_usec int default 0, object_id bigint unsigned default 0, state_change smallint default 0, @@ -1317,9 +1317,9 @@ CREATE TABLE IF NOT EXISTS icinga_statehistory ( CREATE TABLE IF NOT EXISTS icinga_systemcommands ( systemcommand_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, - start_time timestamp default '0000-00-00 00:00:00', + start_time timestamp NULL DEFAULT NULL, start_time_usec int default 0, - end_time timestamp default '0000-00-00 00:00:00', + end_time timestamp NULL DEFAULT NULL, end_time_usec int default 0, command_line TEXT character set latin1 default '', timeout smallint default 0, @@ -1397,7 +1397,7 @@ CREATE TABLE IF NOT EXISTS icinga_endpointstatus ( instance_id bigint unsigned default 0, endpoint_object_id bigint(20) unsigned DEFAULT '0', zone_object_id bigint(20) unsigned DEFAULT '0', - status_update_time timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, identity varchar(255) DEFAULT NULL, node varchar(255) DEFAULT NULL, is_connected smallint(6), @@ -1429,7 +1429,7 @@ CREATE TABLE IF NOT EXISTS icinga_zonestatus ( zonestatus_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, instance_id bigint unsigned default 0, zone_object_id bigint(20) unsigned DEFAULT '0', - status_update_time timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + status_update_time timestamp NULL DEFAULT NULL, parent_zone_object_id bigint(20) unsigned DEFAULT '0', PRIMARY KEY (zonestatus_id) ) ENGINE=InnoDB COMMENT='Zone status'; @@ -1465,7 +1465,7 @@ ALTER TABLE icinga_systemcommands ADD COLUMN endpoint_object_id bigint default N -- add index (delete) -- ----------------------------------------- --- for periodic delete +-- for periodic delete -- instance_id and -- SYSTEMCOMMANDS, SERVICECHECKS, HOSTCHECKS, EVENTHANDLERS => start_time -- EXTERNALCOMMANDS => entry_time @@ -1629,7 +1629,7 @@ CREATE INDEX notification_object_id_idx ON icinga_notifications(object_id); CREATE INDEX contact_notification_idx ON icinga_contactnotifications(notification_id, contact_object_id); CREATE INDEX contacts_object_id_idx ON icinga_contacts(contact_object_id); CREATE INDEX contact_notif_meth_notif_idx ON icinga_contactnotificationmethods(contactnotification_id, command_object_id); -CREATE INDEX command_object_idx ON icinga_commands(object_id); +CREATE INDEX command_object_idx ON icinga_commands(object_id); CREATE INDEX services_combined_object_idx ON icinga_services(service_object_id, host_object_id);