]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2867] Checkpoint: schema updated
authorFrancis Dupont <fdupont@isc.org>
Fri, 19 May 2023 13:01:49 +0000 (15:01 +0200)
committerFrancis Dupont <fdupont@isc.org>
Mon, 22 May 2023 20:05:00 +0000 (22:05 +0200)
src/share/database/scripts/mysql/dhcpdb_create.mysql
src/share/database/scripts/mysql/dhcpdb_drop.mysql
src/share/database/scripts/mysql/upgrade_017_to_018.sh.in
src/share/database/scripts/mysql/wipe_data.sh.in
src/share/database/scripts/pgsql/dhcpdb_create.pgsql
src/share/database/scripts/pgsql/dhcpdb_drop.pgsql
src/share/database/scripts/pgsql/upgrade_016_to_017.sh.in
src/share/database/scripts/pgsql/wipe_data.sh.in

index 09876c443c6929c416d06389688d7f3a28193930..5201c93f7d77d66efe300632d852ac03c565c763 100644 (file)
@@ -5300,6 +5300,31 @@ BEGIN
 END $$
 DELIMITER ;
 
+-- Add the binary version of the IPv6 address for v6 BLQ prefix filter.
+ALTER TABLE lease6
+    ADD COLUMN binaddr BINARY(16) DEFAULT NULL;
+CREATE INDEX lease6_by_binaddr ON lease6 (binaddr);
+
+-- Create table for v6 BLQ by-relay-id.
+CREATE TABLE lease6_relay_id (
+    extended_info_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+    relay_id VARBINARY(130) NOT NULL,
+    lease_addr BINARY(16) NOT NULL,
+    PRIMARY KEY (extended_info_id),
+    INDEX key_lease6_relay_id_by_id (lease6_relay_id, lease_addr ASC),
+    INDEX key_lease6_relay_id_by_address (lease_addr)
+)  ENGINE = INNODB;
+
+-- Create table for v6 BLQ by-remote-id.
+CREATE TABLE lease6_remote_id (
+    extended_info_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+    remote_id VARBINARY(255) NOT NULL,
+    lease_addr BINARY(16) NOT NULL,
+    PRIMARY KEY (extended_info_id),
+    INDEX key_lease6_remote_id_by_id (remote_id, lease_addr ASC),
+    INDEX key_lease6_remote_id_by_address (lease_addr)
+)  ENGINE = INNODB;
+
 -- Update the schema version number.
 UPDATE schema_version
     SET version = '18', minor = '0';
index 0d1789078481262d38a730504c6560ffde360148..fefb44988a52ea45467e8c01e2e380ebe7e91182 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2022 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2016-2023 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
@@ -151,3 +151,5 @@ DROP TRIGGER IF EXISTS lease6_ADEL;
 DROP FUNCTION IF EXISTS checkLease4Limits;
 DROP FUNCTION IF EXISTS checkLease6Limits;
 DROP FUNCTION IF EXISTS isJsonSupported;
+DROP TABLE IF EXISTS lease6_relay_id;
+DROP TABLE IF EXISTS lease6_remote_id;
index bc6fc1b34cce5745f1e063f96c5783d02c60dd64..6296acdbff92143c6236cf6875cd9bb2323f14ec 100644 (file)
@@ -188,6 +188,31 @@ BEGIN
 END $$
 DELIMITER ;
 
+-- Add the binary version of the IPv6 address for v6 BLQ prefix filter.
+ALTER TABLE lease6
+    ADD COLUMN binaddr BINARY(16) DEFAULT NULL;
+CREATE INDEX lease6_by_binaddr ON lease6 (binaddr);
+
+-- Create table for v6 BLQ by-relay-id.
+CREATE TABLE lease6_relay_id (
+    extended_info_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+    relay_id VARBINARY(130) NOT NULL,
+    lease_addr BINARY(16) NOT NULL,
+    PRIMARY KEY (extended_info_id),
+    INDEX key_lease6_relay_id_by_id (lease6_relay_id, lease_addr ASC),
+    INDEX key_lease6_relay_id_by_address (lease_addr)
+)  ENGINE = INNODB;
+
+-- Create table for v6 BLQ by-remote-id.
+CREATE TABLE lease6_remote_id (
+    extended_info_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+    remote_id VARBINARY(255) NOT NULL,
+    lease_addr BINARY(16) NOT NULL,
+    PRIMARY KEY (extended_info_id),
+    INDEX key_lease6_remote_id_by_id (remote_id, lease_addr ASC),
+    INDEX key_lease6_remote_id_by_address (lease_addr)
+)  ENGINE = INNODB;
+
 -- Update the schema version number.
 UPDATE schema_version
     SET version = '18', minor = '0';
index 019300c95a1e6c3d67ec72dc2fe5e50831e44770..411818bdc6d0478e97393606369fcac423849c1d 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2019-2022 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2023 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
@@ -114,5 +114,7 @@ DELETE FROM lease6_stat;
 DELETE FROM logs;
 DELETE FROM lease4_stat_by_client_class;
 DELETE FROM lease6_stat_by_client_class;
+DELETE FROM lease6_relay_id;
+DELETE FROM lease6_remote_id;
 COMMIT;
 EOF
index f19d7ab2acaa05c578fce88bc95ee076461292de..cee8e730e247533cd68d6f01f968a19ce26fafb0 100644 (file)
@@ -5637,6 +5637,26 @@ UPDATE schema_version
 
 UPDATE lease6 SET duid = E'\\x000000' WHERE duid = E'\\x00';
 
+-- Add the binary version of the IPv6 address for v6 BLQ prefix filter.
+ALTER TABLE lease6
+    ADD COLUMN binaddr BYTEA DEFAULT NULL;
+
+-- Create table for v6 BLQ by-relay-id.
+CREATE TABLE lease6_relay_id (
+    extended_info_id SERIAL PRIMARY KEY NOT NULL,
+    relay_id BYTEA NOT NULL,
+    lease_addr BYTEA NOT NULL);
+CREATE INDEX lease6_relay_id_by_id ON lease6_relay_id (relay_id, lease_addr ASC);
+CREATE INDEX lease6_relay_id_by_address ON lease6_relay_id (lease_addr);
+
+-- Create table for v6 BLQ by-remote-id.
+CREATE TABLE lease6_remote_id (
+    extended_info_id SERIAL PRIMARY KEY NOT NULL,
+    remote_id BYTEA NOT NULL,
+    lease_addr BYTEA NOT NULL);
+CREATE INDEX lease6_remote_id_by_id ON lease6_remote_id (remote_id, lease_addr ASC);
+CREATE INDEX lease6_remote_id_by_address ON lease6_remote_id (lease_addr);
+
 -- Update the schema version number.
 UPDATE schema_version
     SET version = '17', minor = '0';
index 1e88ab9be316e855020cce1a59f6250a72c8a367..7709bf622c9a351acc13e8543d64d171f4f0bcc8 100644 (file)
@@ -1,4 +1,4 @@
--- Copyright (C) 2016-2022 Internet Systems Consortium.
+-- Copyright (C) 2016-2023 Internet Systems Consortium.
 
 -- 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
@@ -226,3 +226,7 @@ DROP FUNCTION IF EXISTS checkLease4Limits(user_context TEXT);
 DROP FUNCTION IF EXISTS checkLease6Limits(user_context TEXT);
 DROP FUNCTION IF EXISTS isJsonSupported();
 DROP FUNCTION IF EXISTS json_cast(json_candidate TEXT);
+
+-- v6 BLQ cross-tables
+DROP TABLE IF EXISTS lease6_relay_id;
+DROP TABLE IF EXISTS lease6_remote_id;
index b3dffaba6220ec07946e6932561935f2475f352c..72a1db15bc45f9ecb3657fe197f3f502b720fb7d 100644 (file)
@@ -40,6 +40,26 @@ START TRANSACTION;
 
 UPDATE lease6 SET duid = E'\\\\x000000' WHERE duid = E'\\\\x00';
 
+-- Add the binary version of the IPv6 address for v6 BLQ prefix filter.
+ALTER TABLE lease6
+    ADD COLUMN binaddr BYTEA DEFAULT NULL;
+
+-- Create table for v6 BLQ by-relay-id.
+CREATE TABLE lease6_relay_id (
+    extended_info_id SERIAL PRIMARY KEY NOT NULL,
+    relay_id BYTEA NOT NULL,
+    lease_addr BYTEA NOT NULL);
+CREATE INDEX lease6_relay_id_by_id ON lease6_relay_id (relay_id, lease_addr ASC);
+CREATE INDEX lease6_relay_id_by_address ON lease6_relay_id (lease_addr);
+
+-- Create table for v6 BLQ by-remote-id.
+CREATE TABLE lease6_remote_id (
+    extended_info_id SERIAL PRIMARY KEY NOT NULL,
+    remote_id BYTEA NOT NULL,
+    lease_addr BYTEA NOT NULL);
+CREATE INDEX lease6_remote_id_by_id ON lease6_remote_id (remote_id, lease_addr ASC);
+CREATE INDEX lease6_remote_id_by_address ON lease6_remote_id (lease_addr);
+
 -- Update the schema version number.
 UPDATE schema_version
     SET version = '17', minor = '0';
index 4996c91c7b4f77067096647196742cc789a0ecee..79a0e3f154698c450ddafd0cb315e6a0ab848fc9 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2019-2022 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2019-2023 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
@@ -113,5 +113,8 @@ DELETE FROM dhcp6_client_class_server;
 DELETE FROM dhcp6_client_class;
 DELETE FROM dhcp6_server WHERE tag != 'all'; -- preserve the special tag
 
+DELETE FROM lease6_relay_id;
+DELETE FROM lease6_remote_id;
+
 COMMIT;
 EOF