2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 13:37:55 +00:00

[#3663] PgSql CB hook supports ddsn-ttl params

Changes to be committed:
	modified:   src/hooks/dhcp/pgsql/pgsql_cb_dhcp4.cc
	modified:   src/hooks/dhcp/pgsql/pgsql_cb_dhcp6.cc
	modified:   src/hooks/dhcp/pgsql/pgsql_query_macros_dhcp.h
This commit is contained in:
Thomas Markwalder
2024-12-10 15:33:22 -05:00
parent 9631120607
commit 01490437fe
3 changed files with 231 additions and 48 deletions

View File

@@ -510,7 +510,27 @@ public:
last_subnet->setAllocatorType(worker.getString(73)); last_subnet->setAllocatorType(worker.getString(73));
} }
// server_tag at 74. // ddns_ttl_percent at 74.
if (!worker.isColumnNull(74)) {
last_subnet->setDdnsTtlPercent(worker.getDouble(74));
}
// ddns_ttl at 75.
if (!worker.isColumnNull(75)) {
last_subnet->setDdnsTtl(worker.getInt(75));
}
// ddns_ttl_min at 76.
if (!worker.isColumnNull(76)) {
last_subnet->setDdnsTtlMin(worker.getInt(76));
}
// ddns_ttl_max at 77.
if (!worker.isColumnNull(77)) {
last_subnet->setDdnsTtlMax(worker.getInt(77));
}
// server_tag at 78.
// Subnet ready. Add it to the list. // Subnet ready. Add it to the list.
auto ret = subnets.insert(last_subnet); auto ret = subnets.insert(last_subnet);
@@ -523,9 +543,9 @@ public:
} }
} }
// Check for new server tags at 74. // Check for new server tags at 78.
if (!worker.isColumnNull(74)) { if (!worker.isColumnNull(78)) {
std::string new_tag = worker.getString(74); std::string new_tag = worker.getString(78);
if (last_tag != new_tag) { if (last_tag != new_tag) {
if (!new_tag.empty() && !last_subnet->hasServerTag(ServerTag(new_tag))) { if (!new_tag.empty() && !last_subnet->hasServerTag(ServerTag(new_tag))) {
last_subnet->setServerTag(new_tag); last_subnet->setServerTag(new_tag);
@@ -937,6 +957,10 @@ public:
in_bindings.addOptional(subnet->getCacheMaxAge(Network::Inheritance::NONE)); in_bindings.addOptional(subnet->getCacheMaxAge(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getOfferLft(Network::Inheritance::NONE)); in_bindings.addOptional(subnet->getOfferLft(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getAllocatorType(Network::Inheritance::NONE)); in_bindings.addOptional(subnet->getAllocatorType(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtlPercent(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtl(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtlMin(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtlMax(Network::Inheritance::NONE));
// Start transaction. // Start transaction.
PgSqlTransaction transaction(conn_); PgSqlTransaction transaction(conn_);
@@ -1344,7 +1368,27 @@ public:
last_network->setAllocatorType(worker.getString(47)); last_network->setAllocatorType(worker.getString(47));
} }
// server_tag at 48. // ddns_ttl_percent at 48.
if (!worker.isColumnNull(48)) {
last_network->setDdnsTtlPercent(worker.getDouble(48));
}
// ddns_ttl at 49.
if (!worker.isColumnNull(49)) {
last_network->setDdnsTtl(worker.getInt(49));
}
// ddns_ttl_min at 50.
if (!worker.isColumnNull(50)) {
last_network->setDdnsTtlMin(worker.getInt(50));
}
// ddns_ttl_max at 51.
if (!worker.isColumnNull(51)) {
last_network->setDdnsTtlMax(worker.getInt(51));
}
// server_tag at 52.
// Add the shared network. // Add the shared network.
auto ret = shared_networks.push_back(last_network); auto ret = shared_networks.push_back(last_network);
@@ -1358,8 +1402,8 @@ public:
} }
// Check for new server tags. // Check for new server tags.
if (!worker.isColumnNull(48)) { if (!worker.isColumnNull(52)) {
std::string new_tag = worker.getString(48); std::string new_tag = worker.getString(52);
if (last_tag != new_tag) { if (last_tag != new_tag) {
if (!new_tag.empty() && !last_network->hasServerTag(ServerTag(new_tag))) { if (!new_tag.empty() && !last_network->hasServerTag(ServerTag(new_tag))) {
last_network->setServerTag(new_tag); last_network->setServerTag(new_tag);
@@ -1512,6 +1556,10 @@ public:
in_bindings.addOptional(shared_network->getCacheMaxAge(Network::Inheritance::NONE)); in_bindings.addOptional(shared_network->getCacheMaxAge(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getOfferLft(Network::Inheritance::NONE)); in_bindings.addOptional(shared_network->getOfferLft(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getAllocatorType(Network::Inheritance::NONE)); in_bindings.addOptional(shared_network->getAllocatorType(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtlPercent(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtl(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtlMin(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtlMax(Network::Inheritance::NONE));
// Start transaction. // Start transaction.
PgSqlTransaction transaction(conn_); PgSqlTransaction transaction(conn_);
@@ -3315,7 +3363,7 @@ TaggedStatementArray tagged_statements = { {
// Insert a subnet. // Insert a subnet.
{ {
// PgSqlConfigBackendDHCPv4Impl::INSERT_SUBNET4, // PgSqlConfigBackendDHCPv4Impl::INSERT_SUBNET4,
38, 42,
{ {
OID_INT8, // 1 subnet_id, OID_INT8, // 1 subnet_id,
OID_VARCHAR, // 2 subnet_prefix OID_VARCHAR, // 2 subnet_prefix
@@ -3354,7 +3402,11 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 35 cache_threshold - cast as float OID_TEXT, // 35 cache_threshold - cast as float
OID_INT8, // 36 cache_max_age OID_INT8, // 36 cache_max_age
OID_INT8, // 37 offer_lifetime OID_INT8, // 37 offer_lifetime
OID_VARCHAR // 38 allocator OID_VARCHAR, // 38 allocator
OID_TEXT, // 39 ddns_ttl_percent - cast as float
OID_INT8, // 40 ddns_ttl
OID_INT8, // 41 ddns_ttl_min
OID_INT8, // 42 ddns_ttl_max
}, },
"INSERT_SUBNET4", "INSERT_SUBNET4",
"INSERT INTO dhcp4_subnet(" "INSERT INTO dhcp4_subnet("
@@ -3395,12 +3447,17 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold," " cache_threshold,"
" cache_max_age," " cache_max_age,"
" offer_lifetime," " offer_lifetime,"
" allocator" " allocator,"
" ddns_ttl_percent,"
" ddns_ttl,"
" ddns_ttl_min,"
" ddns_ttl_max"
") VALUES (" ") VALUES ("
"$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, " "$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, "
"cast($11 as inet), $12, $13, $14, $15, $16, $17, $18, cast($19 as json), $20, " "cast($11 as inet), $12, $13, $14, $15, $16, $17, $18, cast($19 as json), $20, "
"$21, $22, $23, cast($24 as float), cast($25 as float), $26, $27, $28, $29, $30, " "$21, $22, $23, cast($24 as float), cast($25 as float), $26, $27, $28, $29, $30, "
"$31, $32, $33, $34, cast($35 as float), $36, $37, $38" "$31, $32, $33, $34, cast($35 as float), $36, $37, $38, "
"cast($39 as float), $40, $41, $42"
")" ")"
}, },
@@ -3437,7 +3494,7 @@ TaggedStatementArray tagged_statements = { {
// Insert a shared network. // Insert a shared network.
{ {
// PgSqlConfigBackendDHCPv4Impl::INSERT_SHARED_NETWORK4, // PgSqlConfigBackendDHCPv4Impl::INSERT_SHARED_NETWORK4,
33, 37,
{ {
OID_VARCHAR, // 1 name, OID_VARCHAR, // 1 name,
OID_TEXT, // 2 client_classes, OID_TEXT, // 2 client_classes,
@@ -3471,7 +3528,11 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 30 cache_threshold - cast as float OID_TEXT, // 30 cache_threshold - cast as float
OID_INT8, // 31 cache_max_age OID_INT8, // 31 cache_max_age
OID_INT8, // 32 offer_lifetime OID_INT8, // 32 offer_lifetime
OID_VARCHAR // 33 allocator OID_VARCHAR, // 33 allocator
OID_TEXT, // 34 ddns_ttl_percent - cast as float
OID_INT8, // 35 ddns_ttl
OID_INT8, // 36 ddns_ttl_min
OID_INT8 // 37 ddns_ttl_max
}, },
"INSERT_SHARED_NETWORK4", "INSERT_SHARED_NETWORK4",
"INSERT INTO dhcp4_shared_network(" "INSERT INTO dhcp4_shared_network("
@@ -3507,12 +3568,17 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold," " cache_threshold,"
" cache_max_age," " cache_max_age,"
" offer_lifetime," " offer_lifetime,"
" allocator" " allocator,"
" ddns_ttl_percent,"
" ddns_ttl,"
" ddns_ttl_min,"
" ddns_ttl_max"
") VALUES (" ") VALUES ("
"$1, $2, $3, $4, $5, $6, $7, $8, $9, $10," "$1, $2, $3, $4, $5, $6, $7, $8, $9, $10,"
"cast($11 as json), $12, $13, $14, $15, " "cast($11 as json), $12, $13, $14, $15, "
"cast($16 as float), cast($17 as float), $18, $19, cast($20 as inet), " "cast($16 as float), cast($17 as float), $18, $19, cast($20 as inet), "
"$21, $22, $23, $24, $25, $26, $27, $28, $29, cast($30 as float), $31, $32, $33" "$21, $22, $23, $24, $25, $26, $27, $28, $29, cast($30 as float), $31, $32, $33, "
"cast($34 as float), $35, $36, $37"
")" ")"
}, },
@@ -3717,7 +3783,7 @@ TaggedStatementArray tagged_statements = { {
// Update existing subnet. // Update existing subnet.
{ {
// PgSqlConfigBackendDHCPv4Impl::UPDATE_SUBNET4, // PgSqlConfigBackendDHCPv4Impl::UPDATE_SUBNET4,
40, 44,
{ {
OID_INT8, // 1 subnet_id, OID_INT8, // 1 subnet_id,
OID_VARCHAR, // 2 subnet_prefix OID_VARCHAR, // 2 subnet_prefix
@@ -3757,8 +3823,12 @@ TaggedStatementArray tagged_statements = { {
OID_INT8, // 36 cache_max_age" OID_INT8, // 36 cache_max_age"
OID_INT8, // 37 offer_lifetime" OID_INT8, // 37 offer_lifetime"
OID_VARCHAR, // 38 allocator OID_VARCHAR, // 38 allocator
OID_INT8, // 39 subnet_id (of subnet to update) OID_TEXT, // 39 ddns_ttl_percent - cast as float
OID_VARCHAR, // 40 subnet_prefix (of subnet to update) OID_INT8, // 40 ddns_ttl
OID_INT8, // 41 ddns_ttl_min
OID_INT8, // 42 ddns_ttl_max
OID_INT8, // 43 subnet_id (of subnet to update)
OID_VARCHAR, // 44 subnet_prefix (of subnet to update)
}, },
"UPDATE_SUBNET4,", "UPDATE_SUBNET4,",
"UPDATE dhcp4_subnet SET" "UPDATE dhcp4_subnet SET"
@@ -3799,14 +3869,18 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold = cast($35 as float)," " cache_threshold = cast($35 as float),"
" cache_max_age = $36," " cache_max_age = $36,"
" offer_lifetime = $37," " offer_lifetime = $37,"
" allocator = $38 " " allocator = $38,"
"WHERE subnet_id = $39 OR subnet_prefix = $40" " ddns_ttl_percent = cast($39 as float),"
" ddns_ttl = $40,"
" ddns_ttl_min = $41,"
" ddns_ttl_max = $42 "
"WHERE subnet_id = $43 OR subnet_prefix = $44"
}, },
// Update existing shared network. // Update existing shared network.
{ {
// PgSqlConfigBackendDHCPv4Impl::UPDATE_SHARED_NETWORK4, // PgSqlConfigBackendDHCPv4Impl::UPDATE_SHARED_NETWORK4,
34, 38,
{ {
OID_VARCHAR, // 1 name, OID_VARCHAR, // 1 name,
OID_TEXT, // 2 client_classes, OID_TEXT, // 2 client_classes,
@@ -3840,8 +3914,12 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 30 cache_threshold - cast as float OID_TEXT, // 30 cache_threshold - cast as float
OID_INT8, // 31 cache_max_age OID_INT8, // 31 cache_max_age
OID_INT8, // 32 offer_lifetime OID_INT8, // 32 offer_lifetime
OID_VARCHAR, // 33 name (of network to update) OID_VARCHAR, // 33 allocator
OID_VARCHAR // 34 allocator OID_TEXT, // 34 ddns_ttl_percent - cast as float
OID_INT8, // 35 ddns_ttl
OID_INT8, // 36 ddns_ttl_min
OID_INT8, // 37 ddns_ttl_max
OID_VARCHAR, // 38 name (of network to update)
}, },
"UPDATE_SHARED_NETWORK4", "UPDATE_SHARED_NETWORK4",
"UPDATE dhcp4_shared_network SET" "UPDATE dhcp4_shared_network SET"
@@ -3877,8 +3955,12 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold = cast($30 as float)," " cache_threshold = cast($30 as float),"
" cache_max_age = $31," " cache_max_age = $31,"
" offer_lifetime = $32," " offer_lifetime = $32,"
" allocator = $33 " " allocator = $33,"
"WHERE name = $34" " ddns_ttl_percent = cast($34 as float),"
" ddns_ttl = $35,"
" ddns_ttl_min = $36,"
" ddns_ttl_max = $37 "
"WHERE name = $38"
}, },
// Update existing option definition. // Update existing option definition.

View File

@@ -506,7 +506,27 @@ public:
last_subnet->setPdAllocatorType(worker.getString(98)); last_subnet->setPdAllocatorType(worker.getString(98));
} }
// server_tag at 99. // ddns_ttl_percent at 99.
if (!worker.isColumnNull(99)) {
last_subnet->setDdnsTtlPercent(worker.getDouble(99));
}
// ddns_ttl at 100.
if (!worker.isColumnNull(100)) {
last_subnet->setDdnsTtl(worker.getInt(100));
}
// ddns_ttl_min at 101.
if (!worker.isColumnNull(101)) {
last_subnet->setDdnsTtlMin(worker.getInt(101));
}
// ddns_ttl_max at 102.
if (!worker.isColumnNull(102)) {
last_subnet->setDdnsTtlMax(worker.getInt(102));
}
// server_tag at 103.
// Subnet ready. Add it to the list. // Subnet ready. Add it to the list.
auto ret = subnets.insert(last_subnet); auto ret = subnets.insert(last_subnet);
@@ -519,9 +539,9 @@ public:
} }
} }
// Check for new server tags at 99. // Check for new server tags at 103.
if (!worker.isColumnNull(99)) { if (!worker.isColumnNull(103)) {
std::string new_tag = worker.getString(99); std::string new_tag = worker.getString(103);
if (last_tag != new_tag) { if (last_tag != new_tag) {
if (!new_tag.empty() && !last_subnet->hasServerTag(ServerTag(new_tag))) { if (!new_tag.empty() && !last_subnet->hasServerTag(ServerTag(new_tag))) {
last_subnet->setServerTag(new_tag); last_subnet->setServerTag(new_tag);
@@ -1101,6 +1121,10 @@ public:
in_bindings.addOptional(subnet->getCacheMaxAge(Network::Inheritance::NONE)); in_bindings.addOptional(subnet->getCacheMaxAge(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getAllocatorType(Network::Inheritance::NONE)); in_bindings.addOptional(subnet->getAllocatorType(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getPdAllocatorType(Network::Inheritance::NONE)); in_bindings.addOptional(subnet->getPdAllocatorType(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtlPercent(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtl(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtlMin(Network::Inheritance::NONE));
in_bindings.addOptional(subnet->getDdnsTtlMax(Network::Inheritance::NONE));
// Start transaction. // Start transaction.
PgSqlTransaction transaction(conn_); PgSqlTransaction transaction(conn_);
@@ -1577,7 +1601,27 @@ public:
last_network->setPdAllocatorType(worker.getString(48)); last_network->setPdAllocatorType(worker.getString(48));
} }
// server_tag at 49. // ddns_ttl_percent at 49.
if (!worker.isColumnNull(49)) {
last_network->setDdnsTtlPercent(worker.getDouble(49));
}
// ddns_ttl at 50.
if (!worker.isColumnNull(50)) {
last_network->setDdnsTtl(worker.getInt(50));
}
// ddns_ttl_min at 51.
if (!worker.isColumnNull(51)) {
last_network->setDdnsTtlMin(worker.getInt(51));
}
// ddns_ttl_max at 52.
if (!worker.isColumnNull(52)) {
last_network->setDdnsTtlMax(worker.getInt(52));
}
// server_tag at 53.
// Add the shared network. // Add the shared network.
auto ret = shared_networks.push_back(last_network); auto ret = shared_networks.push_back(last_network);
@@ -1591,8 +1635,8 @@ public:
} }
// Check for new server tags. // Check for new server tags.
if (!worker.isColumnNull(49)) { if (!worker.isColumnNull(53)) {
std::string new_tag = worker.getString(49); std::string new_tag = worker.getString(53);
if (last_tag != new_tag) { if (last_tag != new_tag) {
if (!new_tag.empty() && !last_network->hasServerTag(ServerTag(new_tag))) { if (!new_tag.empty() && !last_network->hasServerTag(ServerTag(new_tag))) {
last_network->setServerTag(new_tag); last_network->setServerTag(new_tag);
@@ -1745,6 +1789,10 @@ public:
in_bindings.addOptional(shared_network->getCacheMaxAge(Network::Inheritance::NONE)); in_bindings.addOptional(shared_network->getCacheMaxAge(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getAllocatorType(Network::Inheritance::NONE)); in_bindings.addOptional(shared_network->getAllocatorType(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getPdAllocatorType(Network::Inheritance::NONE)); in_bindings.addOptional(shared_network->getPdAllocatorType(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtlPercent(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtl(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtlMin(Network::Inheritance::NONE));
in_bindings.addOptional(shared_network->getDdnsTtlMax(Network::Inheritance::NONE));
// Start transaction. // Start transaction.
PgSqlTransaction transaction(conn_); PgSqlTransaction transaction(conn_);
@@ -3712,7 +3760,7 @@ TaggedStatementArray tagged_statements = { {
// Insert a subnet. // Insert a subnet.
{ {
// PgSqlConfigBackendDHCPv6Impl::INSERT_SUBNET6, // PgSqlConfigBackendDHCPv6Impl::INSERT_SUBNET6,
35, 39,
{ {
OID_INT8, // 1 subnet_id, OID_INT8, // 1 subnet_id,
OID_VARCHAR, // 2 subnet_prefix OID_VARCHAR, // 2 subnet_prefix
@@ -3748,7 +3796,11 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 32 cache_threshold - cast as float OID_TEXT, // 32 cache_threshold - cast as float
OID_INT8, // 33 cache_max_age OID_INT8, // 33 cache_max_age
OID_VARCHAR, // 34 allocator OID_VARCHAR, // 34 allocator
OID_VARCHAR // 35 pd_allocator OID_VARCHAR, // 35 pd_allocator
OID_TEXT, // 36 ddns_ttl_percent - cast as float
OID_INT8, // 37 ddns_ttl
OID_INT8, // 38 ddns_ttl_min
OID_INT8 // 39 ddns_ttl_max
}, },
"INSERT_SUBNET6", "INSERT_SUBNET6",
"INSERT INTO dhcp6_subnet(" "INSERT INTO dhcp6_subnet("
@@ -3786,12 +3838,17 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold," " cache_threshold,"
" cache_max_age," " cache_max_age,"
" allocator," " allocator,"
" pd_allocator" " pd_allocator,"
" ddns_ttl_percent,"
" ddns_ttl,"
" ddns_ttl_min,"
" ddns_ttl_max"
") VALUES (" ") VALUES ("
" $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, " " $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, "
" $11, $12, $13, $14, $15, cast($16 as json), $17, $18, $19, $20, " " $11, $12, $13, $14, $15, cast($16 as json), $17, $18, $19, $20, "
" cast($21 as float), cast($22 as float), $23, $24, $25, $26, $27, $28, $29, $30, " " cast($21 as float), cast($22 as float), $23, $24, $25, $26, $27, $28, $29, $30, "
" $31, cast($32 as float), $33, $34, $35" " $31, cast($32 as float), $33, $34, $35, "
" cast($36 as float), $37, $38, $39"
")" ")"
}, },
@@ -3848,7 +3905,7 @@ TaggedStatementArray tagged_statements = { {
// Insert a shared network. // Insert a shared network.
{ {
// PgSqlConfigBackendDHCPv6Impl::INSERT_SHARED_NETWORK6, // PgSqlConfigBackendDHCPv6Impl::INSERT_SHARED_NETWORK6,
33, 37,
{ {
OID_VARCHAR, // 1 name OID_VARCHAR, // 1 name
OID_TEXT, // 2 client_classes OID_TEXT, // 2 client_classes
@@ -3882,7 +3939,11 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 30 cache_threshold - cast as float OID_TEXT, // 30 cache_threshold - cast as float
OID_INT8, // 31 cache_max_age OID_INT8, // 31 cache_max_age
OID_VARCHAR, // 32 allocator OID_VARCHAR, // 32 allocator
OID_VARCHAR // 33 pd_allocator OID_VARCHAR, // 33 pd_allocator
OID_TEXT, // 34 ddns_ttl_percent - cast as float
OID_INT8, // 35 ddns_ttl
OID_INT8, // 36 ddns_ttl_min
OID_INT8 // 37 ddns_ttl_max
}, },
"INSERT_SHARED_NETWORK6", "INSERT_SHARED_NETWORK6",
"INSERT INTO dhcp6_shared_network(" "INSERT INTO dhcp6_shared_network("
@@ -3918,12 +3979,17 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold," " cache_threshold,"
" cache_max_age," " cache_max_age,"
" allocator," " allocator,"
" pd_allocator" " pd_allocator,"
" ddns_ttl_percent,"
" ddns_ttl,"
" ddns_ttl_min,"
" ddns_ttl_max"
") VALUES (" ") VALUES ("
" $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, " " $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, "
" $11, $12, $13, cast($14 as json), $15, $16, $17, $18," " $11, $12, $13, cast($14 as json), $15, $16, $17, $18,"
" cast($19 as float), cast($20 as float), $21, $22, $23," " cast($19 as float), cast($20 as float), $21, $22, $23,"
" $24, $25, $26, $27, $28, $29, cast($30 as float), $31, $32, $33" " $24, $25, $26, $27, $28, $29, cast($30 as float), $31, $32, $33, "
" cast($34 as float), $35, $36, $37"
")" ")"
}, },
@@ -4127,7 +4193,7 @@ TaggedStatementArray tagged_statements = { {
// Update existing subnet. // Update existing subnet.
{ {
// PgSqlConfigBackendDHCPv6Impl::UPDATE_SUBNET6, // PgSqlConfigBackendDHCPv6Impl::UPDATE_SUBNET6,
37, 41,
{ {
OID_INT8, // 1 subnet_id, OID_INT8, // 1 subnet_id,
OID_VARCHAR, // 2 subnet_prefix OID_VARCHAR, // 2 subnet_prefix
@@ -4163,7 +4229,13 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 32 cache_threshold - cast as float OID_TEXT, // 32 cache_threshold - cast as float
OID_INT8, // 33 cache_max_age OID_INT8, // 33 cache_max_age
OID_VARCHAR, // 34 allocator OID_VARCHAR, // 34 allocator
OID_VARCHAR // 35 pd_allocator OID_VARCHAR, // 35 pd_allocator
OID_TEXT, // 36 ddns_ttl_percent - cast as float
OID_INT8, // 37 ddns_ttl
OID_INT8, // 38 ddns_ttl_min
OID_INT8, // 39 ddns_ttl_max
OID_INT8, // 40 subnet_id,
OID_VARCHAR // 41 subnet_prefix
}, },
"UPDATE_SUBNET6", "UPDATE_SUBNET6",
"UPDATE dhcp6_subnet SET" "UPDATE dhcp6_subnet SET"
@@ -4201,14 +4273,18 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold = cast($32 as float)," " cache_threshold = cast($32 as float),"
" cache_max_age = $33," " cache_max_age = $33,"
" allocator = $34," " allocator = $34,"
" pd_allocator = $35 " " pd_allocator = $35,"
"WHERE subnet_id = $36 OR subnet_prefix = $37" " ddns_ttl_percent = cast($36 as float),"
" ddns_ttl = $37,"
" ddns_ttl_min = $38,"
" ddns_ttl_max = $39 "
"WHERE subnet_id = $40 OR subnet_prefix = $41"
}, },
// Update existing shared network. // Update existing shared network.
{ {
// PgSqlConfigBackendDHCPv6Impl::UPDATE_SHARED_NETWORK6, // PgSqlConfigBackendDHCPv6Impl::UPDATE_SHARED_NETWORK6,
34, 38,
{ {
OID_VARCHAR, // 1 name OID_VARCHAR, // 1 name
OID_TEXT, // 2 client_classes OID_TEXT, // 2 client_classes
@@ -4242,7 +4318,12 @@ TaggedStatementArray tagged_statements = { {
OID_TEXT, // 30 cache_threshold - cast as float OID_TEXT, // 30 cache_threshold - cast as float
OID_INT8, // 31 cache_max_age OID_INT8, // 31 cache_max_age
OID_VARCHAR, // 32 allocator OID_VARCHAR, // 32 allocator
OID_VARCHAR // 33 pd_allocator OID_VARCHAR, // 33 pd_allocator
OID_TEXT, // 34 ddns_ttl_percent - cast as float
OID_INT8, // 35 ddns_ttl
OID_INT8, // 36 ddns_ttl_min
OID_INT8, // 37 ddns_ttl_max
OID_VARCHAR // 38 name
}, },
"UPDATE_SHARED_NETWORK6", "UPDATE_SHARED_NETWORK6",
"UPDATE dhcp6_shared_network SET" "UPDATE dhcp6_shared_network SET"
@@ -4278,8 +4359,12 @@ TaggedStatementArray tagged_statements = { {
" cache_threshold = cast($30 as float)," " cache_threshold = cast($30 as float),"
" cache_max_age = $31," " cache_max_age = $31,"
" allocator = $32," " allocator = $32,"
" pd_allocator = $33 " " pd_allocator = $33,"
"WHERE name = $34" " ddns_ttl_percent = cast($34 as float),"
" ddns_ttl = $35,"
" ddns_ttl_min = $36,"
" ddns_ttl_max = $37 "
"WHERE name = $38"
}, },
// Update existing option definition. // Update existing option definition.

View File

@@ -120,6 +120,10 @@ namespace {
" s.cache_max_age," \ " s.cache_max_age," \
" s.offer_lifetime," \ " s.offer_lifetime," \
" s.allocator," \ " s.allocator," \
" s.ddns_ttl_percent," \
" s.ddns_ttl," \
" s.ddns_ttl_min," \
" s.ddns_ttl_max," \
" srv.tag " \ " srv.tag " \
"FROM dhcp4_subnet AS s " \ "FROM dhcp4_subnet AS s " \
server_join \ server_join \
@@ -256,6 +260,10 @@ namespace {
" s.cache_max_age," \ " s.cache_max_age," \
" s.allocator," \ " s.allocator," \
" s.pd_allocator," \ " s.pd_allocator," \
" s.ddns_ttl_percent," \
" s.ddns_ttl," \
" s.ddns_ttl_min," \
" s.ddns_ttl_max," \
" srv.tag " \ " srv.tag " \
"FROM dhcp6_subnet AS s " \ "FROM dhcp6_subnet AS s " \
server_join \ server_join \
@@ -474,6 +482,10 @@ namespace {
" n.cache_max_age," \ " n.cache_max_age," \
" n.offer_lifetime," \ " n.offer_lifetime," \
" n.allocator," \ " n.allocator," \
" n.ddns_ttl_percent," \
" n.ddns_ttl," \
" n.ddns_ttl_min," \
" n.ddns_ttl_max," \
" s.tag " \ " s.tag " \
"FROM dhcp4_shared_network AS n " \ "FROM dhcp4_shared_network AS n " \
server_join \ server_join \
@@ -558,6 +570,10 @@ namespace {
" n.cache_max_age," \ " n.cache_max_age," \
" n.allocator," \ " n.allocator," \
" n.pd_allocator," \ " n.pd_allocator," \
" n.ddns_ttl_percent," \
" n.ddns_ttl," \
" n.ddns_ttl_min," \
" n.ddns_ttl_max," \
" s.tag " \ " s.tag " \
"FROM dhcp6_shared_network AS n " \ "FROM dhcp6_shared_network AS n " \
server_join \ server_join \