From: Marcin Siodelski Date: Mon, 28 Jan 2019 12:52:01 +0000 (+0100) Subject: [#396,!205] Modify MySQL schema to use fractional second timestamps. X-Git-Tag: 429-Updated-StampedValue-to-support-reals_base~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c33495fa7a32b92b41b90c9e7b25c81f934d7f07;p=thirdparty%2Fkea.git [#396,!205] Modify MySQL schema to use fractional second timestamps. --- diff --git a/src/lib/cc/stamped_element.cc b/src/lib/cc/stamped_element.cc index 0761978844..2b84aeab1c 100644 --- a/src/lib/cc/stamped_element.cc +++ b/src/lib/cc/stamped_element.cc @@ -10,12 +10,12 @@ namespace isc { namespace data { StampedElement::StampedElement() - : timestamp_(boost::posix_time::second_clock::universal_time()) { + : timestamp_(boost::posix_time::microsecond_clock::universal_time()) { } void StampedElement::updateModificationTime() { - setModificationTime(boost::posix_time::second_clock::universal_time()); + setModificationTime(boost::posix_time::microsecond_clock::universal_time()); } } // end of namespace isc::data diff --git a/src/share/database/scripts/mysql/dhcpdb_create.mysql b/src/share/database/scripts/mysql/dhcpdb_create.mysql index d5110a42f3..14b07a390b 100644 --- a/src/share/database/scripts/mysql/dhcpdb_create.mysql +++ b/src/share/database/scripts/mysql/dhcpdb_create.mysql @@ -1334,12 +1334,96 @@ SET version = '7', minor = '0'; # This line concludes database upgrade to version 7.0. +-- ----------------------------------------------------- +-- Modify timestamps in the Configuration Backend +-- specific tables to use fractional seconds with +-- 3 decimal places precision. +-- ----------------------------------------------------- + +ALTER TABLE dhcp4_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_audit + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_global_parameter + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_global_parameter_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_option_def + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_option_def_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_shared_network + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_shared_network_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_subnet + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_pool + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_subnet_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_options + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp4_options_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_audit + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_global_parameter + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_global_parameter_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_option_def + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_option_def_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_shared_network + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_shared_network_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_subnet + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_pool + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_subnet_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_options + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + +ALTER TABLE dhcp6_options_server + MODIFY COLUMN modification_ts TIMESTAMP(3) NOT NULL; + -- ----------------------------------------------------- -- Table `dhcp4_audit_revision` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS dhcp4_audit_revision ( id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, - modification_ts TIMESTAMP NOT NULL, + modification_ts TIMESTAMP(3) NOT NULL, log_message TEXT, server_id BIGINT(10) UNSIGNED, PRIMARY KEY (id), diff --git a/src/share/database/scripts/mysql/upgrade_7.0_to_8.0.sh.in b/src/share/database/scripts/mysql/upgrade_7.0_to_8.0.sh.in index 05dde9b6dc..b9cb7d9615 100644 --- a/src/share/database/scripts/mysql/upgrade_7.0_to_8.0.sh.in +++ b/src/share/database/scripts/mysql/upgrade_7.0_to_8.0.sh.in @@ -17,6 +17,90 @@ fi mysql "$@" <