mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-29 13:07:50 +00:00
[5208] Multiple fixes as a result of review.
The most notable change is the update of the MySQL trigger which deletes options as a consequence of deletion of the host.
This commit is contained in:
parent
401d36348b
commit
20d70ed0b3
@ -207,7 +207,7 @@
|
|||||||
<row>
|
<row>
|
||||||
<entry>Flexible Identifier</entry>
|
<entry>Flexible Identifier</entry>
|
||||||
<entry>Support customers</entry>
|
<entry>Support customers</entry>
|
||||||
<entry>Kea 1.2.0 beta</entry>
|
<entry>Kea 1.2.0</entry>
|
||||||
<entry>Kea software provides a way to handle host reservations
|
<entry>Kea software provides a way to handle host reservations
|
||||||
that include addresses, prefixes, options, client classes and
|
that include addresses, prefixes, options, client classes and
|
||||||
other features. The reservation can be based on hardware address,
|
other features. The reservation can be based on hardware address,
|
||||||
@ -582,7 +582,7 @@ link address: 3001::1, hop count: 1, identified by remote-id:
|
|||||||
<para>Currently this library is only available to ISC customers with a
|
<para>Currently this library is only available to ISC customers with a
|
||||||
support contract.</para>
|
support contract.</para>
|
||||||
|
|
||||||
<para>The library allows defining an expression, using notation
|
<para>The library allows for defining an expression, using notation
|
||||||
initially used for client classification only. See <xref
|
initially used for client classification only. See <xref
|
||||||
linkend="classification-using-expressions" /> for detailed description
|
linkend="classification-using-expressions" /> for detailed description
|
||||||
of the syntax available. One notable difference is that for client
|
of the syntax available. One notable difference is that for client
|
||||||
|
@ -295,11 +295,11 @@ public:
|
|||||||
// The address in the Host structure is an IOAddress object. Convert
|
// The address in the Host structure is an IOAddress object. Convert
|
||||||
// this to an integer for storage.
|
// this to an integer for storage.
|
||||||
ipv4_address_ = host->getIPv4Reservation().toUint32();
|
ipv4_address_ = host->getIPv4Reservation().toUint32();
|
||||||
|
ipv4_address_null_ = ipv4_address_ == 0 ? MLM_TRUE : MLM_FALSE;
|
||||||
bind_[5].buffer_type = MYSQL_TYPE_LONG;
|
bind_[5].buffer_type = MYSQL_TYPE_LONG;
|
||||||
bind_[5].buffer = reinterpret_cast<char*>(&ipv4_address_);
|
bind_[5].buffer = reinterpret_cast<char*>(&ipv4_address_);
|
||||||
bind_[5].is_unsigned = MLM_TRUE;
|
bind_[5].is_unsigned = MLM_TRUE;
|
||||||
// bind_[5].is_null = &MLM_FALSE; // commented out for performance
|
bind_[5].is_null = &ipv4_address_null_;
|
||||||
// reasons, see memset() above
|
|
||||||
|
|
||||||
// hostname : VARCHAR(255) NULL
|
// hostname : VARCHAR(255) NULL
|
||||||
strncpy(hostname_, host->getHostname().c_str(), HOSTNAME_MAX_LEN - 1);
|
strncpy(hostname_, host->getHostname().c_str(), HOSTNAME_MAX_LEN - 1);
|
||||||
|
@ -483,6 +483,21 @@ SET version = '5', minor = '0';
|
|||||||
# Add missing 'client-id' host identifier type.
|
# Add missing 'client-id' host identifier type.
|
||||||
INSERT INTO host_identifier_type VALUES (3, 'client-id');
|
INSERT INTO host_identifier_type VALUES (3, 'client-id');
|
||||||
|
|
||||||
|
# Recreate the trigger removing dependent host entries.
|
||||||
|
DROP TRIGGER host_BDEL;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE TRIGGER host_BDEL BEFORE DELETE ON hosts FOR EACH ROW
|
||||||
|
-- Edit trigger body code below this line. Do not edit lines above this one
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM ipv6_reservations WHERE ipv6_reservations.host_id = OLD.host_id;
|
||||||
|
DELETE FROM dhcp4_options WHERE dhcp4_options.host_id = OLD.host_id;
|
||||||
|
DELETE FROM dhcp6_options WHERE dhcp6_options.host_id = OLD.host_id;
|
||||||
|
END
|
||||||
|
$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
|
||||||
# Update the schema version number
|
# Update the schema version number
|
||||||
UPDATE schema_version
|
UPDATE schema_version
|
||||||
SET version = '5', minor = '1';
|
SET version = '5', minor = '1';
|
||||||
|
@ -20,6 +20,20 @@ mysql "$@" <<EOF
|
|||||||
# Add missing 'client-id' host identifier type.
|
# Add missing 'client-id' host identifier type.
|
||||||
INSERT INTO host_identifier_type VALUES (3, 'client-id');
|
INSERT INTO host_identifier_type VALUES (3, 'client-id');
|
||||||
|
|
||||||
|
# Recreate the trigger removing dependent host entries.
|
||||||
|
DROP TRIGGER host_BDEL;
|
||||||
|
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE TRIGGER host_BDEL BEFORE DELETE ON hosts FOR EACH ROW
|
||||||
|
-- Edit trigger body code below this line. Do not edit lines above this one
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM ipv6_reservations WHERE ipv6_reservations.host_id = OLD.host_id;
|
||||||
|
DELETE FROM dhcp4_options WHERE dhcp4_options.host_id = OLD.host_id;
|
||||||
|
DELETE FROM dhcp6_options WHERE dhcp6_options.host_id = OLD.host_id;
|
||||||
|
END
|
||||||
|
$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
# Update the schema version number
|
# Update the schema version number
|
||||||
UPDATE schema_version
|
UPDATE schema_version
|
||||||
SET version = '5', minor = '1';
|
SET version = '5', minor = '1';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user