From: Thomas Markwalder Date: Mon, 16 Mar 2026 18:55:40 +0000 (-0400) Subject: [#4373] function renaming,add expired on create X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=7b296675e003a4d42b3e697e4abd2ecaa4ea9c8f;p=thirdparty%2Fkea.git [#4373] function renaming,add expired on create modified: src/bin/admin/tests/mysql_tests.sh.in src/bin/admin/tests/pgsql_tests.sh.in src/share/database/scripts/mysql/dhcpdb_create.mysql src/share/database/scripts/mysql/dhcpdb_drop.mysql src/share/database/scripts/mysql/upgrade_033_to_034.sh.in src/share/database/scripts/pgsql/dhcpdb_create.pgsql src/share/database/scripts/pgsql/dhcpdb_drop.pgsql src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in renamed: createSharedFlqPool4 -> sflqCreateFlqPool4 createSharedFlqPool6 -> sflqCreateFlqPool6 pickFreeLease4 -> sflqPickFreeLease4 pickFreeLease6 -> sflqPickFreeLease6 --- diff --git a/src/bin/admin/tests/mysql_tests.sh.in b/src/bin/admin/tests/mysql_tests.sh.in index bd74336183..27a04779b4 100755 --- a/src/bin/admin/tests/mysql_tests.sh.in +++ b/src/bin/admin/tests/mysql_tests.sh.in @@ -1127,11 +1127,11 @@ mysql_upgrade_33_to_34_test() { count=$(echo "${OUTPUT}" | grep -Fci "1020:3040:5060:7100:90a0:b0c0:de0:f000") assert_eq 1 "${count}" "incrementV6Prefix output is wrong. (expected count %d, actual %d)" - # Verify createSharedFlqPool4. - qry="call createSharedFlqPool4(inet_aton('127.0.0.0'), inet_aton('127.0.0.1'), 0, 0)" + # Verify sflqCreateFlqPool4. + qry="call sflqCreateFlqPool4(inet_aton('127.0.0.0'), inet_aton('127.0.0.1'), 0, 0)" run_command \ mysql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "call createSharedFlqPool4 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "call sflqCreateFlqPool4 failed. (expected status code %d, returned %d)" qry="select count(start_address) from flq_pool4 where start_address = inet_aton('127.0.0.0')\ and end_address = inet_aton('127.0.0.1')" @@ -1149,18 +1149,18 @@ mysql_upgrade_33_to_34_test() { count="${OUTPUT}" assert_eq 2 "${count}" "free_lease4 content wrong. (expected count %d, actual %d)" - # Verify pickFreeLease4. - qry="select inet_ntoa(pickFreeLease4(inet_aton('127.0.0.0'),inet_aton('127.0.0.1')))" + # Verify sflqPickFreeLease4. + qry="select inet_ntoa(sflqPickFreeLease4(inet_aton('127.0.0.0'),inet_aton('127.0.0.1')))" run_command \ mysql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "select from pickFreeLease4 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "select from sflqPickFreeLease4 failed. (expected status code %d, returned %d)" assert_str_eq '127.0.0.0' "${OUTPUT}" - # Verify createSharedFlqPool6. - qry="call createSharedFlqPool6('3001::', '3001::10', 2, 128, 1, 0)" + # Verify sflqCreateFlqPool6. + qry="call sflqCreateFlqPool6('3001::', '3001::10', 2, 128, 1, 0)" run_command \ mysql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "call createSharedFlqPool6 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "call sflqCreateFlqPool6 failed. (expected status code %d, returned %d)" qry="select count(start_address) from flq_pool6 where start_address = '3001::'\ and end_address = '3001::10'" @@ -1179,11 +1179,11 @@ mysql_upgrade_33_to_34_test() { count="${OUTPUT}" assert_eq 17 "${count}" "free_lease6 content wrong. (expected count %d, actual %d)" - # Verify pickFreeLease6. - qry="select pickFreeLease6('3001::', '3001::10')" + # Verify sflqPickFreeLease6. + qry="select sflqPickFreeLease6('3001::', '3001::10')" run_command \ mysql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "select from pickFreeLease6 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "select from sflqPickFreeLease6 failed. (expected status code %d, returned %d)" assert_str_eq '3001::1' "${OUTPUT}" } @@ -4071,9 +4071,9 @@ mysql_migrate_dhcpX_options_client_classes() { test_finish 0 } -# Verifies basic SFLQ for V4 -mysql_SFLQ4() { - test_start "mysql.mysql_SFLQ4" +# Verifies SFLQ sflqPickFreeLease4 function +mysql_sflqPickFreeLease4() { + test_start "mysql.mysql_sflqPickFreeLease4" # Let's wipe the whole database mysql_wipe @@ -4085,37 +4085,37 @@ mysql_SFLQ4() { # We need to create an older database with lease data so we can - sql="call createSharedFlqPool4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2'), 1, false)" - run_statement "createSharedFlqPool4" "$sql" + sql="call sflqCreateFlqPool4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2'), 1, false)" + run_statement "sflqCreateFlqPool4" "$sql" - sql="select inet_ntoa(pickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" - run_statement "pickFreeLease4.1" "$sql" "127.0.0.0"; - run_statement "pickFreeLease4.2" "$sql" "127.0.0.1"; - run_statement "pickFreeLease4.3" "$sql" "127.0.0.2"; + sql="select inet_ntoa(sflqPickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" + run_statement "sflqPickFreeLease4.1" "$sql" "127.0.0.0"; + run_statement "sflqPickFreeLease4.2" "$sql" "127.0.0.1"; + run_statement "sflqPickFreeLease4.3" "$sql" "127.0.0.2"; sql="insert into lease4 (address, subnet_id) values (inet_aton('127.0.0.1'), 1)"; run_statement "insert 127.0.0.1" "$sql" ""; - sql="select inet_ntoa(pickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" - run_statement "pickFreeLease4.4" "$sql" "127.0.0.0"; - run_statement "pickFreeLease4.5" "$sql" "127.0.0.2"; - run_statement "pickFreeLease4.6" "$sql" "127.0.0.0"; + sql="select inet_ntoa(sflqPickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" + run_statement "sflqPickFreeLease4.4" "$sql" "127.0.0.0"; + run_statement "sflqPickFreeLease4.5" "$sql" "127.0.0.2"; + run_statement "sflqPickFreeLease4.6" "$sql" "127.0.0.0"; sql="update lease4 set state = 2 where address = (inet_aton('127.0.0.1'));" run_statement "update 127.0.0.1" "$sql" ""; - sql="select inet_ntoa(pickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" - run_statement "pickFreeLease4.7" "$sql" "127.0.0.1"; - run_statement "pickFreeLease4.8" "$sql" "127.0.0.2"; - run_statement "pickFreeLease4.9" "$sql" "127.0.0.0"; + sql="select inet_ntoa(sflqPickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" + run_statement "sflqPickFreeLease4.7" "$sql" "127.0.0.1"; + run_statement "sflqPickFreeLease4.8" "$sql" "127.0.0.2"; + run_statement "sflqPickFreeLease4.9" "$sql" "127.0.0.0"; sql="delete from lease4" run_statement "delete 127.0.0.1" "$sql" ""; - sql="select inet_ntoa(pickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" - run_statement "pickFreeLease4.10" "$sql" "127.0.0.1"; - run_statement "pickFreeLease4.11" "$sql" "127.0.0.2"; - run_statement "pickFreeLease4.12" "$sql" "127.0.0.0"; + sql="select inet_ntoa(sflqPickFreeLease4(inet_aton('127.0.0.0'), inet_aton('127.0.0.2')))" + run_statement "sflqPickFreeLease4.10" "$sql" "127.0.0.1"; + run_statement "sflqPickFreeLease4.11" "$sql" "127.0.0.2"; + run_statement "sflqPickFreeLease4.12" "$sql" "127.0.0.0"; # Let's wipe the whole database mysql_wipe @@ -4123,9 +4123,9 @@ mysql_SFLQ4() { test_finish 0 } -# Verifies basic SFLQ for V6 -mysql_SFLQ6() { - test_start "mysql.mysql_SFLQ6" +# Verifies SFLQ sflqPickFreeLease6 function +mysql_sflqPickFreeLease6() { + test_start "mysql.mysql_sflqPickFreeLease6" # Let's wipe the whole database mysql_wipe @@ -4137,37 +4137,37 @@ mysql_SFLQ6() { # We need to create an older database with lease data so we can - sql="call createSharedFlqPool6('3001::', '3001::02', 1, 128, 1, false)" - run_statement "createSharedFlqPool6" "$sql" + sql="call sflqCreateFlqPool6('3001::', '3001::02', 1, 128, 1, false)" + run_statement "sflqCreateFlqPool6" "$sql" - sql="select pickFreeLease6('3001::', '3001::02')" - run_statement "pickFreeLease6.1" "$sql" "3001::1"; - run_statement "pickFreeLease6.2" "$sql" "3001::2"; - run_statement "pickFreeLease6.3" "$sql" "3001::"; + sql="select sflqPickFreeLease6('3001::', '3001::02')" + run_statement "sflqPickFreeLease6.1" "$sql" "3001::1"; + run_statement "sflqPickFreeLease6.2" "$sql" "3001::2"; + run_statement "sflqPickFreeLease6.3" "$sql" "3001::"; sql="insert into lease6 (address, lease_type, subnet_id) values (inet6_aton('3001::1'), 1, 1)"; run_statement "insert 3001::1" "$sql" ""; - sql="select pickFreeLease6('3001::', '3001::02')" - run_statement "pickFreeLease6.4" "$sql" "3001::2"; - run_statement "pickFreeLease6.5" "$sql" "3001::"; - run_statement "pickFreeLease6.6" "$sql" "3001::2"; + sql="select sflqPickFreeLease6('3001::', '3001::02')" + run_statement "sflqPickFreeLease6.4" "$sql" "3001::2"; + run_statement "sflqPickFreeLease6.5" "$sql" "3001::"; + run_statement "sflqPickFreeLease6.6" "$sql" "3001::2"; sql="update lease6 set state = 2 where address = (inet6_aton('3001::1'));" run_statement "update 3001::1" "$sql" ""; - sql="select pickFreeLease6('3001::', '3001::02')" - run_statement "pickFreeLease6.7" "$sql" "3001::"; - run_statement "pickFreeLease6.8" "$sql" "3001::1"; - run_statement "pickFreeLease6.9" "$sql" "3001::2"; + sql="select sflqPickFreeLease6('3001::', '3001::02')" + run_statement "sflqPickFreeLease6.7" "$sql" "3001::"; + run_statement "sflqPickFreeLease6.8" "$sql" "3001::1"; + run_statement "sflqPickFreeLease6.9" "$sql" "3001::2"; sql="delete from lease6" run_statement "delete 3001::1" "$sql" ""; - sql="select pickFreeLease6('3001::', '3001::02')" - run_statement "pickFreeLease6.10" "$sql" "3001::"; - run_statement "pickFreeLease6.11" "$sql" "3001::1"; - run_statement "pickFreeLease6.12" "$sql" "3001::2"; + sql="select sflqPickFreeLease6('3001::', '3001::02')" + run_statement "sflqPickFreeLease6.10" "$sql" "3001::"; + run_statement "sflqPickFreeLease6.11" "$sql" "3001::1"; + run_statement "sflqPickFreeLease6.12" "$sql" "3001::2"; # Let's wipe the whole database mysql_wipe @@ -4218,5 +4218,5 @@ mysql_migrate_opt_record_type mysql_remove_control_socket_parameters_test mysql_migrate_client_class_test mysql_migrate_dhcpX_options_client_classes -mysql_SFLQ4 -mysql_SFLQ6 +mysql_sflqPickFreeLease4 +mysql_sflqPickFreeLease6 diff --git a/src/bin/admin/tests/pgsql_tests.sh.in b/src/bin/admin/tests/pgsql_tests.sh.in index eb50173ad7..705ad6172b 100755 --- a/src/bin/admin/tests/pgsql_tests.sh.in +++ b/src/bin/admin/tests/pgsql_tests.sh.in @@ -1113,11 +1113,11 @@ pgsql_upgrade_32_to_33_test() { assert_str_eq '\x102030405060710090a0b0c00de0f000' "${OUTPUT}" - # Verify createSharedFlqPool4. - qry="call createSharedFlqPool4('127.0.0.0'::inet, '127.0.0.10'::inet, 1::bigint, false)" + # Verify sflqCreateFlqPool4. + qry="call sflqCreateFlqPool4('127.0.0.0'::inet, '127.0.0.10'::inet, 1::bigint, false)" run_command \ pgsql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "call createSharedFlqPool4 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "call sflqCreateFlqPool4 failed. (expected status code %d, returned %d)" qry="select count(start_address) from flq_pool4 where start_address = '127.0.0.0'::inet\ and end_address = '127.0.0.10'::inet" @@ -1136,19 +1136,19 @@ pgsql_upgrade_32_to_33_test() { count="${OUTPUT}" assert_eq 11 "${count}" "free_lease4 content wrong. (expected count %d, actual %d)" - # Verify pickFreeLease4. - qry="select pickFreeLease4('127.0.0.0'::inet, '127.0.0.10'::inet)" + # Verify sflqPickFreeLease4. + qry="select sflqPickFreeLease4('127.0.0.0'::inet, '127.0.0.10'::inet)" run_command \ pgsql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "select from pickFreeLease4 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "select from sflqPickFreeLease4 failed. (expected status code %d, returned %d)" assert_str_eq '127.0.0.0' "${OUTPUT}" - # Verify createSharedFlqPool6. - qry="call createSharedFlqPool6('3001::'::inet, '3001::10'::inet, 2::smallint, 128::smallint,\ + # Verify sflqCreateFlqPool6. + qry="call sflqCreateFlqPool6('3001::'::inet, '3001::10'::inet, 2::smallint, 128::smallint,\ 1::bigint, false)" run_command \ pgsql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "call createSharedFlqPool6 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "call sflqCreateFlqPool6 failed. (expected status code %d, returned %d)" qry="select count(start_address) from flq_pool6 where start_address = '3001::'::inet\ and end_address = '3001::10'::inet" @@ -1167,11 +1167,11 @@ pgsql_upgrade_32_to_33_test() { count="${OUTPUT}" assert_eq 17 "${count}" "flq_pool6 content wrong. (expected count %d, actual %d)" - # Verify pickFreeLease6. - qry="select pickFreeLease6('3001::'::inet, '3001::10'::inet)" + # Verify sflqPickFreeLease6. + qry="select sflqPickFreeLease6('3001::'::inet, '3001::10'::inet)" run_command \ pgsql_execute "${qry}" - assert_eq 0 "${EXIT_CODE}" "select from pickFreeLease6 failed. (expected status code %d, returned %d)" + assert_eq 0 "${EXIT_CODE}" "select from sflqPickFreeLease6 failed. (expected status code %d, returned %d)" assert_str_eq '3001::' "${OUTPUT}" } @@ -3226,9 +3226,9 @@ pgsql_migrate_dhcpX_options_client_classes() { test_finish 0 } -# Verifies basic SFLQ for V4 -pgsql_SFLQ4() { - test_start "pgsql.pgsql_SFLQ4" +# Verifies SFLQ sflqPickFreeLease4 function +pgsql_sflqPickFreeLease4() { + test_start "pgsql.pgsql_sflqPickFreeLease4" # Let's wipe the whole database pgsql_wipe @@ -3240,37 +3240,37 @@ pgsql_SFLQ4() { # We need to create an older database with lease data so we can - sql="call createSharedFlqPool4('127.0.0.0'::inet, '127.0.0.2'::inet, 1::bigint, false)" - run_statement "createSharedFlqPool4" "$sql" + sql="call sflqCreateFlqPool4('127.0.0.0'::inet, '127.0.0.2'::inet, 1::bigint, false)" + run_statement "sflqCreateFlqPool4" "$sql" - sql="select pickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" - run_statement "pickFreeLease4.1" "$sql" "127.0.0.0"; - run_statement "pickFreeLease4.2" "$sql" "127.0.0.1"; - run_statement "pickFreeLease4.3" "$sql" "127.0.0.2"; + sql="select sflqPickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" + run_statement "sflqPickFreeLease4.1" "$sql" "127.0.0.0"; + run_statement "sflqPickFreeLease4.2" "$sql" "127.0.0.1"; + run_statement "sflqPickFreeLease4.3" "$sql" "127.0.0.2"; sql="insert into lease4 (address, subnet_id) values ('127.0.0.1'::inet - '0.0.0.0'::inet, 1)"; run_statement "insert 127.0.0.1" "$sql" ""; - sql="select pickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" - run_statement "pickFreeLease4.4" "$sql" "127.0.0.0"; - run_statement "pickFreeLease4.5" "$sql" "127.0.0.2"; - run_statement "pickFreeLease4.6" "$sql" "127.0.0.0"; + sql="select sflqPickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" + run_statement "sflqPickFreeLease4.4" "$sql" "127.0.0.0"; + run_statement "sflqPickFreeLease4.5" "$sql" "127.0.0.2"; + run_statement "sflqPickFreeLease4.6" "$sql" "127.0.0.0"; sql="update lease4 set state = 2 where address = ('127.0.0.1'::inet - '0.0.0.0'::inet);" run_statement "update 127.0.0.1" "$sql" ""; - sql="select pickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" - run_statement "pickFreeLease4.7" "$sql" "127.0.0.1"; - run_statement "pickFreeLease4.8" "$sql" "127.0.0.2"; - run_statement "pickFreeLease4.9" "$sql" "127.0.0.0"; + sql="select sflqPickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" + run_statement "sflqPickFreeLease4.7" "$sql" "127.0.0.1"; + run_statement "sflqPickFreeLease4.8" "$sql" "127.0.0.2"; + run_statement "sflqPickFreeLease4.9" "$sql" "127.0.0.0"; sql="delete from lease4" run_statement "delete 127.0.0.1" "$sql" ""; - sql="select pickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" - run_statement "pickFreeLease4.10" "$sql" "127.0.0.1"; - run_statement "pickFreeLease4.11" "$sql" "127.0.0.2"; - run_statement "pickFreeLease4.12" "$sql" "127.0.0.0"; + sql="select sflqPickFreeLease4('127.0.0.0'::inet, '127.0.0.2'::inet)" + run_statement "sflqPickFreeLease4.10" "$sql" "127.0.0.1"; + run_statement "sflqPickFreeLease4.11" "$sql" "127.0.0.2"; + run_statement "sflqPickFreeLease4.12" "$sql" "127.0.0.0"; # Let's wipe the whole database pgsql_wipe @@ -3278,9 +3278,9 @@ pgsql_SFLQ4() { test_finish 0 } -# Verifies basic SFLQ for V6 -pgsql_SFLQ6() { - test_start "pgsql.pgsql_SFLQ6" +# Verifies SFLQ sflqPickFreeLease6 function +pgsql_sflqPickFreeLease6() { + test_start "pgsql.pgsql_sflqPickFreeLease6" # Let's wipe the whole database pgsql_wipe @@ -3292,38 +3292,38 @@ pgsql_SFLQ6() { # We need to create an older database with lease data so we can - sql="call createSharedFlqPool6('3001::'::inet, '3001::02'::inet, 1::smallint,\ + sql="call sflqCreateFlqPool6('3001::'::inet, '3001::02'::inet, 1::smallint,\ 128::smallint, 1::bigint, false)" - run_statement "createSharedFlqPool6" "$sql" + run_statement "sflqCreateFlqPool6" "$sql" - sql="select pickFreeLease6('3001::'::inet, '3001::02'::inet)" - run_statement "pickFreeLease6.1" "$sql" "3001::"; - run_statement "pickFreeLease6.2" "$sql" "3001::1"; - run_statement "pickFreeLease6.3" "$sql" "3001::2"; + sql="select sflqPickFreeLease6('3001::'::inet, '3001::02'::inet)" + run_statement "sflqPickFreeLease6.1" "$sql" "3001::"; + run_statement "sflqPickFreeLease6.2" "$sql" "3001::1"; + run_statement "sflqPickFreeLease6.3" "$sql" "3001::2"; sql="insert into lease6 (address, lease_type, subnet_id) values ('3001::1'::inet, 1::smallint, 1::bigint)"; run_statement "insert 3001::1" "$sql" ""; - sql="select pickFreeLease6('3001::'::inet, '3001::02'::inet)" - run_statement "pickFreeLease6.4" "$sql" "3001::"; - run_statement "pickFreeLease6.5" "$sql" "3001::2"; - run_statement "pickFreeLease6.6" "$sql" "3001::"; + sql="select sflqPickFreeLease6('3001::'::inet, '3001::02'::inet)" + run_statement "sflqPickFreeLease6.4" "$sql" "3001::"; + run_statement "sflqPickFreeLease6.5" "$sql" "3001::2"; + run_statement "sflqPickFreeLease6.6" "$sql" "3001::"; sql="update lease6 set state = 2 where address = ('3001::1'::inet);" run_statement "update 3001::1" "$sql" ""; - sql="select pickFreeLease6('3001::'::inet, '3001::02'::inet)" - run_statement "pickFreeLease6.7" "$sql" "3001::1"; - run_statement "pickFreeLease6.8" "$sql" "3001::2"; - run_statement "pickFreeLease6.9" "$sql" "3001::"; + sql="select sflqPickFreeLease6('3001::'::inet, '3001::02'::inet)" + run_statement "sflqPickFreeLease6.7" "$sql" "3001::1"; + run_statement "sflqPickFreeLease6.8" "$sql" "3001::2"; + run_statement "sflqPickFreeLease6.9" "$sql" "3001::"; sql="delete from lease6" run_statement "delete 3001::1" "$sql" ""; - sql="select pickFreeLease6('3001::'::inet, '3001::02'::inet)" - run_statement "pickFreeLease6.10" "$sql" "3001::1"; - run_statement "pickFreeLease6.11" "$sql" "3001::2"; - run_statement "pickFreeLease6.12" "$sql" "3001::"; + sql="select sflqPickFreeLease6('3001::'::inet, '3001::02'::inet)" + run_statement "sflqPickFreeLease6.10" "$sql" "3001::1"; + run_statement "sflqPickFreeLease6.11" "$sql" "3001::2"; + run_statement "sflqPickFreeLease6.12" "$sql" "3001::"; # Let's wipe the whole database pgsql_wipe @@ -3369,5 +3369,5 @@ pgsql_migrate_opt_record_type pgsql_remove_control_socket_parameters_test pgsql_migrate_client_class_test pgsql_migrate_dhcpX_options_client_classes -pgsql_SFLQ4 -pgsql_SFLQ6 +pgsql_sflqPickFreeLease4 +pgsql_sflqPickFreeLease6 diff --git a/src/share/database/scripts/mysql/dhcpdb_create.mysql b/src/share/database/scripts/mysql/dhcpdb_create.mysql index b1b3a3d575..07a9bb6225 100644 --- a/src/share/database/scripts/mysql/dhcpdb_create.mysql +++ b/src/share/database/scripts/mysql/dhcpdb_create.mysql @@ -6665,12 +6665,12 @@ END $$ DELIMITER ; -- Populate flq_pool4 and free_lease4 based on an address range. -DROP PROCEDURE IF EXISTS createSharedFlqPool4; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool4; DELIMITER $$ -CREATE PROCEDURE createSharedFlqPool4(IN p_start_address INT UNSIGNED, - IN p_end_address INT UNSIGNED, - IN p_subnet_id INT UNSIGNED, - IN p_recreate TINYINT) +CREATE PROCEDURE sflqCreateFlqPool4(IN p_start_address INT UNSIGNED, + IN p_end_address INT UNSIGNED, + IN p_subnet_id INT UNSIGNED, + IN p_recreate TINYINT) BEGIN DECLARE loop_limit INT UNSIGNED; DECLARE next_start_address INT UNSIGNED; @@ -6718,7 +6718,8 @@ BEGIN ) SELECT avail FROM addresses LEFT JOIN lease4 on avail = lease4.address - WHERE lease4.address IS NULL OR lease4.state = 2; + WHERE (lease4.address IS NULL OR lease4.state = 2 + OR (expire <= now() AND valid_lifetime != 0xFFFFFFFF)); SET next_start_address = next_start_address + loop_limit; END WHILE; @@ -6732,10 +6733,10 @@ END $$ DELIMITER ; -- Select a free address from an address range. -DROP FUNCTION IF EXISTS pickFreeLease4; +DROP FUNCTION IF EXISTS sflqPickFreeLease4; DELIMITER $$ -CREATE FUNCTION pickFreeLease4(alloc_start_address INT UNSIGNED, - alloc_end_address INT UNSIGNED) +CREATE FUNCTION sflqPickFreeLease4(alloc_start_address INT UNSIGNED, + alloc_end_address INT UNSIGNED) RETURNS INT UNSIGNED DETERMINISTIC BEGIN @@ -6796,14 +6797,14 @@ DELIMITER ; -- Populate flq_pool6 and free_lease6 based on an address -- range and delegated len. Use 128 for NA addresses. -DROP PROCEDURE IF EXISTS createSharedFlqPool6; -DELIMITER $$ -CREATE PROCEDURE createSharedFlqPool6(IN p_start_address VARCHAR(45), - IN p_end_address VARCHAR(45), - IN p_lease_type TINYINT UNSIGNED, - IN p_delegated_len TINYINT UNSIGNED, - IN p_subnet_id INT UNSIGNED, - IN p_recreate TINYINT) +DROP PROCEDURE IF EXISTS sflqCreateFlqPool6; +DELIMITER $$ +CREATE PROCEDURE sflqCreateFlqPool6(IN p_start_address VARCHAR(45), + IN p_end_address VARCHAR(45), + IN p_lease_type TINYINT UNSIGNED, + IN p_delegated_len TINYINT UNSIGNED, + IN p_subnet_id INT UNSIGNED, + IN p_recreate TINYINT) BEGIN DECLARE bin_next_address BINARY(16); DECLARE bin_end_address BINARY(16); @@ -6841,7 +6842,8 @@ BEGIN WHILE bin_next_address <= bin_end_address DO SELECT address INTO free_address FROM lease6 - WHERE address = INET6_NTOA(bin_next_address) AND lease6.state != 2; + WHERE (address = INET6_NTOA(bin_next_address) AND lease6.state != 2 + AND (expire > now() OR valid_lifetime != 0xFFFFFFFF)); IF (free_address IS NULL) THEN @@ -6861,10 +6863,10 @@ END $$ DELIMITER ; -- Find a free lease with an address range. -DROP FUNCTION IF EXISTS pickFreeLease6; +DROP FUNCTION IF EXISTS sflqPickFreeLease6; DELIMITER $$ -CREATE FUNCTION pickFreeLease6(alloc_start_address VARCHAR(45), - alloc_end_address VARCHAR(45)) +CREATE FUNCTION sflqPickFreeLease6(alloc_start_address VARCHAR(45), + alloc_end_address VARCHAR(45)) RETURNS VARCHAR(45) DETERMINISTIC BEGIN diff --git a/src/share/database/scripts/mysql/dhcpdb_drop.mysql b/src/share/database/scripts/mysql/dhcpdb_drop.mysql index 34a12f5a81..17c3655db4 100644 --- a/src/share/database/scripts/mysql/dhcpdb_drop.mysql +++ b/src/share/database/scripts/mysql/dhcpdb_drop.mysql @@ -164,8 +164,10 @@ DROP TABLE IF EXISTS lease6_remote_id; DROP TABLE IF EXISTS option_def_data_type; -- Drop SFLQ tables and procedures DROP FUNCTION IF EXISTS incrementV6Prefix; -DROP PROCEDURE IF EXISTS createSharedFlqPool4; -DROP PROCEDURE IF EXISTS createSharedFlqPool6; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool4; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool6; +DROP FUNCTION IF EXISTS sflqPickFreeLease4; +DROP FUNCTION IF EXISTS sflqPickFreeLease6; DROP TABLE IF EXISTS free_lease4; DROP TABLE IF EXISTS flq_pool4; DROP TABLE IF EXISTS free_lease6; diff --git a/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in b/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in index 52b687eca6..d8eeaefd35 100755 --- a/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in +++ b/src/share/database/scripts/mysql/upgrade_033_to_034.sh.in @@ -245,12 +245,12 @@ END $$ DELIMITER ; -- Populate flq_pool4 and free_lease4 based on an address range. -DROP PROCEDURE IF EXISTS createSharedFlqPool4; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool4; DELIMITER $$ -CREATE PROCEDURE createSharedFlqPool4(IN p_start_address INT UNSIGNED, - IN p_end_address INT UNSIGNED, - IN p_subnet_id INT UNSIGNED, - IN p_recreate TINYINT) +CREATE PROCEDURE sflqCreateFlqPool4(IN p_start_address INT UNSIGNED, + IN p_end_address INT UNSIGNED, + IN p_subnet_id INT UNSIGNED, + IN p_recreate TINYINT) BEGIN DECLARE loop_limit INT UNSIGNED; DECLARE next_start_address INT UNSIGNED; @@ -298,7 +298,8 @@ BEGIN ) SELECT avail FROM addresses LEFT JOIN lease4 on avail = lease4.address - WHERE lease4.address IS NULL OR lease4.state = 2; + WHERE (lease4.address IS NULL OR lease4.state = 2 + OR (expire <= now() AND valid_lifetime != 0xFFFFFFFF)); SET next_start_address = next_start_address + loop_limit; END WHILE; @@ -312,10 +313,10 @@ END $$ DELIMITER ; -- Select a free address from an address range. -DROP FUNCTION IF EXISTS pickFreeLease4; +DROP FUNCTION IF EXISTS sflqPickFreeLease4; DELIMITER $$ -CREATE FUNCTION pickFreeLease4(alloc_start_address INT UNSIGNED, - alloc_end_address INT UNSIGNED) +CREATE FUNCTION sflqPickFreeLease4(alloc_start_address INT UNSIGNED, + alloc_end_address INT UNSIGNED) RETURNS INT UNSIGNED DETERMINISTIC BEGIN @@ -376,14 +377,14 @@ DELIMITER ; -- Populate flq_pool6 and free_lease6 based on an address -- range and delegated len. Use 128 for NA addresses. -DROP PROCEDURE IF EXISTS createSharedFlqPool6; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool6; DELIMITER $$ -CREATE PROCEDURE createSharedFlqPool6(IN p_start_address VARCHAR(45), - IN p_end_address VARCHAR(45), - IN p_lease_type TINYINT UNSIGNED, - IN p_delegated_len TINYINT UNSIGNED, - IN p_subnet_id INT UNSIGNED, - IN p_recreate TINYINT) +CREATE PROCEDURE sflqCreateFlqPool6(IN p_start_address VARCHAR(45), + IN p_end_address VARCHAR(45), + IN p_lease_type TINYINT UNSIGNED, + IN p_delegated_len TINYINT UNSIGNED, + IN p_subnet_id INT UNSIGNED, + IN p_recreate TINYINT) BEGIN DECLARE bin_next_address BINARY(16); DECLARE bin_end_address BINARY(16); @@ -421,7 +422,8 @@ BEGIN WHILE bin_next_address <= bin_end_address DO SELECT address INTO free_address FROM lease6 - WHERE address = INET6_NTOA(bin_next_address) AND lease6.state != 2; + WHERE (address = INET6_NTOA(bin_next_address) AND lease6.state != 2 + AND (expire > now() OR valid_lifetime != 0xFFFFFFFF)); IF (free_address IS NULL) THEN @@ -441,10 +443,10 @@ END $$ DELIMITER ; -- Find a free lease with an address range. -DROP FUNCTION IF EXISTS pickFreeLease6; +DROP FUNCTION IF EXISTS sflqPickFreeLease6; DELIMITER $$ -CREATE FUNCTION pickFreeLease6(alloc_start_address VARCHAR(45), - alloc_end_address VARCHAR(45)) +CREATE FUNCTION sflqPickFreeLease6(alloc_start_address VARCHAR(45), + alloc_end_address VARCHAR(45)) RETURNS VARCHAR(45) DETERMINISTIC BEGIN diff --git a/src/share/database/scripts/pgsql/dhcpdb_create.pgsql b/src/share/database/scripts/pgsql/dhcpdb_create.pgsql index 578177746f..2995f90c60 100644 --- a/src/share/database/scripts/pgsql/dhcpdb_create.pgsql +++ b/src/share/database/scripts/pgsql/dhcpdb_create.pgsql @@ -6869,10 +6869,10 @@ CREATE TABLE IF NOT EXISTS free_lease6 ( CREATE UNIQUE INDEX free_lease6_bin_address ON free_lease6 (bin_address); -- Populate flq_pool4 and free_lease4 based on an address range. -CREATE OR REPLACE PROCEDURE createSharedFlqPool4(p_start_address INET, - p_end_address INET, - p_subnet_id BIGINT, - p_recreate BOOLEAN) +CREATE OR REPLACE PROCEDURE sflqCreateFlqPool4(p_start_address INET, + p_end_address INET, + p_subnet_id BIGINT, + p_recreate BOOLEAN) LANGUAGE plpgsql AS $$ DECLARE zero_inet INET := '0.0.0.0.'::INET; @@ -6900,7 +6900,8 @@ BEGIN SELECT zero_inet + avail, avail FROM generate_series((p_start_address - zero_inet), (p_end_address - zero_inet), 1) AS avail LEFT JOIN lease4 on avail = lease4.address - WHERE lease4.address IS NULL OR lease4.state = 2 + WHERE (lease4.address IS NULL OR lease4.state = 2 + OR (expire <= now() AND valid_lifetime != x'FFFFFFFF'::bigint)) ON CONFLICT DO NOTHING; -- Update the modification time in the flq_pool row. @@ -6912,8 +6913,8 @@ END; $$; -- Select a free address from an address range. -CREATE OR REPLACE FUNCTION pickFreeLease4(alloc_start_address INET, - alloc_end_address INET) +CREATE OR REPLACE FUNCTION sflqPickFreeLease4(alloc_start_address INET, + alloc_end_address INET) RETURNS INET AS $$ DECLARE @@ -7180,12 +7181,12 @@ $$ LANGUAGE plpgsql; -- Populate flq_pool6 and free_lease6 based on an address -- range and delegated len. Use 128 for NA addresses. -CREATE OR REPLACE PROCEDURE createSharedFlqPool6(p_start_address INET, - p_end_address INET, - p_lease_type SMALLINT, - p_delegated_len SMALLiNT, - p_subnet_id BIGINT, - p_recreate BOOLEAN) +CREATE OR REPLACE PROCEDURE sflqCreateFlqPool6(p_start_address INET, + p_end_address INET, + p_lease_type SMALLINT, + p_delegated_len SMALLiNT, + p_subnet_id BIGINT, + p_recreate BOOLEAN) LANGUAGE plpgsql AS $$ DECLARE zero_inet INET := '::'::INET; @@ -7224,7 +7225,8 @@ BEGIN WHILE next_address <= p_end_address LOOP SELECT address INTO free_address FROM lease6 - WHERE address = next_address AND lease6.state != 2; + WHERE (address = next_address AND lease6.state != 2 + AND (expire > now() OR valid_lifetime = x'FFFFFFFF'::bigint)); IF (free_address IS NULL) THEN @@ -7246,8 +7248,8 @@ END; $$; -- Find a free lease with an address range. -CREATE OR REPLACE FUNCTION pickFreeLease6(alloc_start_address INET, - alloc_end_address INET) +CREATE OR REPLACE FUNCTION sflqPickFreeLease6(alloc_start_address INET, + alloc_end_address INET) RETURNS INET AS $$ DECLARE diff --git a/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql b/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql index 7b5db1ecb6..858a5615da 100644 --- a/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql +++ b/src/share/database/scripts/pgsql/dhcpdb_drop.pgsql @@ -250,14 +250,14 @@ DROP TABLE IF EXISTS lease6_relay_id; DROP TABLE IF EXISTS lease6_remote_id; -- Drop SFLQ tables and procedures -DROP PROCEDURE IF EXISTS createSharedFlqPool4; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool4; DROP FUNCTION IF EXISTS hexToBin; DROP FUNCTION IF EXISTS inetToBytea; DROP FUNCTION IF EXISTS byteaToInet; DROP FUNCTION IF EXISTS incrementV6Prefix; -DROP PROCEDURE IF EXISTS createSharedFlqPool6; -DROP FUNCTION IF EXISTS pickFreeLease4; -DROP FUNCTION IF EXISTS pickFreeLease6; +DROP PROCEDURE IF EXISTS sflqCreateFlqPool6; +DROP FUNCTION IF EXISTS sflqPickFreeLease4; +DROP FUNCTION IF EXISTS sflqPickFreeLease6; DROP TABLE IF EXISTS free_lease4; DROP TABLE IF EXISTS flq_pool4; DROP TABLE IF EXISTS free_lease6; diff --git a/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in b/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in index 35a579793b..8d504c8416 100755 --- a/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in +++ b/src/share/database/scripts/pgsql/upgrade_032_to_033.sh.in @@ -155,10 +155,10 @@ CREATE TABLE IF NOT EXISTS free_lease6 ( CREATE UNIQUE INDEX free_lease6_bin_address ON free_lease6 (bin_address); -- Populate flq_pool4 and free_lease4 based on an address range. -CREATE OR REPLACE PROCEDURE createSharedFlqPool4(p_start_address INET, - p_end_address INET, - p_subnet_id BIGINT, - p_recreate BOOLEAN) +CREATE OR REPLACE PROCEDURE sflqCreateFlqPool4(p_start_address INET, + p_end_address INET, + p_subnet_id BIGINT, + p_recreate BOOLEAN) LANGUAGE plpgsql AS \$\$ DECLARE zero_inet INET := '0.0.0.0.'::INET; @@ -186,7 +186,8 @@ BEGIN SELECT zero_inet + avail, avail FROM generate_series((p_start_address - zero_inet), (p_end_address - zero_inet), 1) AS avail LEFT JOIN lease4 on avail = lease4.address - WHERE lease4.address IS NULL OR lease4.state = 2 + WHERE (lease4.address IS NULL OR lease4.state = 2 + OR (expire <= now() AND valid_lifetime != x'FFFFFFFF'::bigint)) ON CONFLICT DO NOTHING; -- Update the modification time in the flq_pool row. @@ -198,8 +199,8 @@ END; \$\$; -- Select a free address from an address range. -CREATE OR REPLACE FUNCTION pickFreeLease4(alloc_start_address INET, - alloc_end_address INET) +CREATE OR REPLACE FUNCTION sflqPickFreeLease4(alloc_start_address INET, + alloc_end_address INET) RETURNS INET AS \$\$ DECLARE @@ -466,12 +467,12 @@ END; -- Populate flq_pool6 and free_lease6 based on an address -- range and delegated len. Use 128 for NA addresses. -CREATE OR REPLACE PROCEDURE createSharedFlqPool6(p_start_address INET, - p_end_address INET, - p_lease_type SMALLINT, - p_delegated_len SMALLiNT, - p_subnet_id BIGINT, - p_recreate BOOLEAN) +CREATE OR REPLACE PROCEDURE sflqCreateFlqPool6(p_start_address INET, + p_end_address INET, + p_lease_type SMALLINT, + p_delegated_len SMALLiNT, + p_subnet_id BIGINT, + p_recreate BOOLEAN) LANGUAGE plpgsql AS \$\$ DECLARE zero_inet INET := '::'::INET; @@ -510,7 +511,8 @@ BEGIN WHILE next_address <= p_end_address LOOP SELECT address INTO free_address FROM lease6 - WHERE address = next_address AND lease6.state != 2; + WHERE (address = next_address AND lease6.state != 2 + AND (expire > now() OR valid_lifetime = x'FFFFFFFF'::bigint)); IF (free_address IS NULL) THEN @@ -532,8 +534,8 @@ END; \$\$; -- Find a free lease with an address range. -CREATE OR REPLACE FUNCTION pickFreeLease6(alloc_start_address INET, - alloc_end_address INET) +CREATE OR REPLACE FUNCTION sflqPickFreeLease6(alloc_start_address INET, + alloc_end_address INET) RETURNS INET AS \$\$ DECLARE