2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 22:15:23 +00:00

[#2038] kea-admin lease-dump mysql -6 now takes hwtype & hwaddr_source into account

This commit is contained in:
Andrei Pavel
2022-01-10 15:54:31 +02:00
parent 050a6d7f97
commit 0d8bcb16a9
5 changed files with 202 additions and 103 deletions

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2012-2021 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -4105,49 +4105,56 @@ DELIMITER $$
CREATE PROCEDURE lease4DumpData()
BEGIN
SELECT
INET_NTOA(l.address),
IFNULL(colonSeparatedHex(HEX(l.hwaddr)), ''),
IFNULL(colonSeparatedHex(HEX(l.client_id)), ''),
l.valid_lifetime,
UNIX_TIMESTAMP(l.expire),
l.subnet_id,
l.fqdn_fwd,
l.fqdn_rev,
l.hostname,
l.state,
IFNULL(l.user_context, '')
FROM
lease4 l
ORDER BY l.address;
INET_NTOA(address),
IFNULL(colonSeparatedHex(HEX(hwaddr)), ''),
IFNULL(colonSeparatedHex(HEX(client_id)), ''),
valid_lifetime,
UNIX_TIMESTAMP(expire),
subnet_id,
fqdn_fwd,
fqdn_rev,
hostname,
state,
IFNULL(user_context, '')
FROM lease4
ORDER BY address;
END $$
DELIMITER ;
-- hwtype and hwaddr_source need to be last to match memfile format.
DROP PROCEDURE IF EXISTS lease6DumpHeader;
DELIMITER $$
CREATE PROCEDURE lease6DumpHeader()
BEGIN
SELECT 'address,duid,valid_lifetime,expire,subnet_id,pref_lifetime,lease_type,iaid,prefix_len,fqdn_fwd,fqdn_rev,hostname,hwaddr,state,user_context,hwtype,hwaddr_source';
END $$
DELIMITER ;
-- Modify the procedure to output a memfile-ready CSV file.
DROP PROCEDURE IF EXISTS lease6DumpData;
DELIMITER $$
CREATE PROCEDURE lease6DumpData()
BEGIN
SELECT
l.address,
IFNULL(colonSeparatedHex(HEX(l.duid)), ''),
l.valid_lifetime,
UNIX_TIMESTAMP(l.expire),
l.subnet_id,
l.pref_lifetime,
l.lease_type,
l.iaid,
l.prefix_len,
l.fqdn_fwd,
l.fqdn_rev,
l.hostname,
IFNULL(colonSeparatedHex(HEX(l.hwaddr)), ''),
IFNULL(l.hwtype, ''),
IFNULL(h.name, ''),
l.state,
IFNULL(l.user_context, '')
FROM lease6 l
LEFT OUTER JOIN lease_hwaddr_source h ON l.hwaddr_source = h.hwaddr_source
ORDER BY l.address;
address,
IFNULL(colonSeparatedHex(HEX(duid)), ''),
valid_lifetime,
UNIX_TIMESTAMP(expire),
subnet_id,
pref_lifetime,
lease_type,
iaid,
prefix_len,
fqdn_fwd,
fqdn_rev,
hostname,
IFNULL(colonSeparatedHex(HEX(hwaddr)), ''),
state,
IFNULL(user_context, ''),
hwtype,
hwaddr_source
FROM lease6
ORDER BY address;
END $$
DELIMITER ;

View File

@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2021 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2022 Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -81,49 +81,56 @@ DELIMITER $$
CREATE PROCEDURE lease4DumpData()
BEGIN
SELECT
INET_NTOA(l.address),
IFNULL(colonSeparatedHex(HEX(l.hwaddr)), ''),
IFNULL(colonSeparatedHex(HEX(l.client_id)), ''),
l.valid_lifetime,
UNIX_TIMESTAMP(l.expire),
l.subnet_id,
l.fqdn_fwd,
l.fqdn_rev,
l.hostname,
l.state,
IFNULL(l.user_context, '')
FROM
lease4 l
ORDER BY l.address;
INET_NTOA(address),
IFNULL(colonSeparatedHex(HEX(hwaddr)), ''),
IFNULL(colonSeparatedHex(HEX(client_id)), ''),
valid_lifetime,
UNIX_TIMESTAMP(expire),
subnet_id,
fqdn_fwd,
fqdn_rev,
hostname,
state,
IFNULL(user_context, '')
FROM lease4
ORDER BY address;
END $$
DELIMITER ;
-- hwtype and hwaddr_source need to be last to match memfile format.
DROP PROCEDURE IF EXISTS lease6DumpHeader;
DELIMITER $$
CREATE PROCEDURE lease6DumpHeader()
BEGIN
SELECT 'address,duid,valid_lifetime,expire,subnet_id,pref_lifetime,lease_type,iaid,prefix_len,fqdn_fwd,fqdn_rev,hostname,hwaddr,state,user_context,hwtype,hwaddr_source';
END $$
DELIMITER ;
-- Modify the procedure to output a memfile-ready CSV file.
DROP PROCEDURE IF EXISTS lease6DumpData;
DELIMITER $$
CREATE PROCEDURE lease6DumpData()
BEGIN
SELECT
l.address,
IFNULL(colonSeparatedHex(HEX(l.duid)), ''),
l.valid_lifetime,
UNIX_TIMESTAMP(l.expire),
l.subnet_id,
l.pref_lifetime,
l.lease_type,
l.iaid,
l.prefix_len,
l.fqdn_fwd,
l.fqdn_rev,
l.hostname,
IFNULL(colonSeparatedHex(HEX(l.hwaddr)), ''),
IFNULL(l.hwtype, ''),
IFNULL(h.name, ''),
l.state,
IFNULL(l.user_context, '')
FROM lease6 l
LEFT OUTER JOIN lease_hwaddr_source h ON l.hwaddr_source = h.hwaddr_source
ORDER BY l.address;
address,
IFNULL(colonSeparatedHex(HEX(duid)), ''),
valid_lifetime,
UNIX_TIMESTAMP(expire),
subnet_id,
pref_lifetime,
lease_type,
iaid,
prefix_len,
fqdn_fwd,
fqdn_rev,
hostname,
IFNULL(colonSeparatedHex(HEX(hwaddr)), ''),
state,
IFNULL(user_context, ''),
hwtype,
hwaddr_source
FROM lease6
ORDER BY address;
END $$
DELIMITER ;