]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#4373] function renaming,add expired on create
authorThomas Markwalder <tmark@isc.org>
Mon, 16 Mar 2026 18:55:40 +0000 (14:55 -0400)
committerThomas Markwalder <tmark@isc.org>
Tue, 31 Mar 2026 14:33:50 +0000 (14:33 +0000)
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

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

index bd743361835af3684650d9020a053e0776568f8e..27a04779b4099eca0231b61c483e7d28d0d98df2 100755 (executable)
@@ -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
index eb50173ad77228abc604514942d2f576c036c258..705ad6172b8902ab3e53d04d21b0bb97fbbe27aa 100755 (executable)
@@ -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
index b1b3a3d575a0522fc7aebe515b11ce4f9e58f47e..07a9bb62255521d49734fce8702129a847d30d1a 100644 (file)
@@ -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
index 34a12f5a814afd3cc97299be692b2edec7ebbe76..17c3655db414434d17b5ef1234bdad633ffc294e 100644 (file)
@@ -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;
index 52b687eca62e0f7ef610dad6a5b412c6d4a329e6..d8eeaefd35aee17584d6cf0b6e22fd8625e0833f 100755 (executable)
@@ -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
index 578177746f5f4e3877e243863f8aebe3b02e62d7..2995f90c60977b856ab1a405b6517e99b2df9384 100644 (file)
@@ -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
index 7b5db1ecb622c4366f8e8b4c95fd33ee2b14a230..858a5615dae6d9018bb72b685c3d3b9aa71df1ca 100644 (file)
@@ -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;
index 35a579793bb90f1461bb2f6a2a64681cd9f41500..8d504c8416993aae046e49bd10da3eb2587c69f0 100755 (executable)
@@ -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