From 44b35d42426c2daddd08fbec377db5e50245cfc8 Mon Sep 17 00:00:00 2001 From: Marcin Siodelski Date: Wed, 3 Jul 2019 14:41:18 +0200 Subject: [PATCH] [#714,!409] Only delete dangling global options when server deleted. --- src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc | 10 +++++----- src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc index 19c24ad8af..8693edb7c5 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc @@ -115,7 +115,7 @@ public: DELETE_OPTION_DEF4_CODE_NAME, DELETE_ALL_OPTION_DEFS4, DELETE_OPTION4, - DELETE_ALL_OPTIONS4_UNASSIGNED, + DELETE_ALL_GLOBAL_OPTIONS4_UNASSIGNED, DELETE_OPTION4_SUBNET_ID, DELETE_OPTION4_POOL_RANGE, DELETE_OPTION4_SHARED_NETWORK, @@ -1930,7 +1930,7 @@ public: MySqlBindingCollection()); conn_.updateDeleteQuery(MySqlConfigBackendDHCPv4Impl:: - DELETE_ALL_OPTIONS4_UNASSIGNED, + DELETE_ALL_GLOBAL_OPTIONS4_UNASSIGNED, MySqlBindingCollection()); /// @todo delete option definitions. } @@ -1970,7 +1970,7 @@ public: MySqlBindingCollection()); conn_.updateDeleteQuery(MySqlConfigBackendDHCPv4Impl:: - DELETE_ALL_OPTIONS4_UNASSIGNED, + DELETE_ALL_GLOBAL_OPTIONS4_UNASSIGNED, MySqlBindingCollection()); /// @todo delete dangling option definitions. @@ -2403,8 +2403,8 @@ TaggedStatementArray tagged_statements = { { }, // Delete all options which are unassigned to any servers. - { MySqlConfigBackendDHCPv4Impl::DELETE_ALL_OPTIONS4_UNASSIGNED, - MYSQL_DELETE_OPTION_UNASSIGNED(dhcp4) + { MySqlConfigBackendDHCPv4Impl::DELETE_ALL_GLOBAL_OPTIONS4_UNASSIGNED, + MYSQL_DELETE_OPTION_UNASSIGNED(dhcp4, AND o.scope_id = 0) }, // Delete single option from a subnet. diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc index ba617e4839..fa46affb10 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc @@ -121,7 +121,7 @@ public: DELETE_OPTION_DEF6_CODE_NAME, DELETE_ALL_OPTION_DEFS6, DELETE_OPTION6, - DELETE_ALL_OPTIONS6_UNASSIGNED, + DELETE_ALL_GLOBAL_OPTIONS6_UNASSIGNED, DELETE_OPTION6_SUBNET_ID, DELETE_OPTION6_POOL_RANGE, DELETE_OPTION6_PD_POOL, @@ -2247,7 +2247,7 @@ public: MySqlBindingCollection()); conn_.updateDeleteQuery(MySqlConfigBackendDHCPv6Impl:: - DELETE_ALL_OPTIONS6_UNASSIGNED, + DELETE_ALL_GLOBAL_OPTIONS6_UNASSIGNED, MySqlBindingCollection()); /// @todo delete dangling option definitions. } @@ -2287,7 +2287,7 @@ public: MySqlBindingCollection()); conn_.updateDeleteQuery(MySqlConfigBackendDHCPv6Impl:: - DELETE_ALL_OPTIONS6_UNASSIGNED, + DELETE_ALL_GLOBAL_OPTIONS6_UNASSIGNED, MySqlBindingCollection()); /// @todo delete dangling option definitions. } @@ -2761,9 +2761,9 @@ TaggedStatementArray tagged_statements = { { MYSQL_DELETE_OPTION(dhcp6, AND o.scope_id = 0 AND o.code = ? AND o.space = ?) }, - // Delete all options which are unassigned to any servers. - { MySqlConfigBackendDHCPv6Impl::DELETE_ALL_OPTIONS6_UNASSIGNED, - MYSQL_DELETE_OPTION_UNASSIGNED(dhcp6) + // Delete all global options which are unassigned to any servers. + { MySqlConfigBackendDHCPv6Impl::DELETE_ALL_GLOBAL_OPTIONS6_UNASSIGNED, + MYSQL_DELETE_OPTION_UNASSIGNED(dhcp6, AND o.scope_id = 0) }, // Delete single option from a subnet. -- 2.47.2