From: Marcin Siodelski Date: Sun, 7 Oct 2018 16:56:52 +0000 (+0200) Subject: [#93,!51] Enclose option creation in transactions. X-Git-Tag: 5-netconf-extend-syntax_base~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=560bf2748839ad7e5825f3504bda41e29b083318;p=thirdparty%2Fkea.git [#93,!51] Enclose option creation in transactions. --- diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc index 9dc62c0710..c3c2713732 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc @@ -878,6 +878,8 @@ public: MySqlBinding::createTimestamp(option->getModificationTime()) }; + MySqlTransaction transaction(conn_); + OptionDescriptorPtr existing_option = getOption4(selector, option->option_->getType(), option->space_name_); @@ -891,6 +893,8 @@ public: conn_.insertQuery(MySqlConfigBackendDHCPv4Impl::INSERT_OPTION4, in_bindings); } + + transaction.commit(); } /// @brief Sends query to insert or update DHCP option in a subnet. @@ -917,6 +921,9 @@ public: MySqlBinding::createTimestamp(option->getModificationTime()) }; + + MySqlTransaction transaction(conn_); + OptionDescriptorPtr existing_option = getOption4(selector, subnet_id, option->option_->getType(), option->space_name_); @@ -931,6 +938,8 @@ public: conn_.insertQuery(MySqlConfigBackendDHCPv4Impl::INSERT_OPTION4, in_bindings); } + + transaction.commit(); } void createUpdateOption4(const ServerSelector& selector, @@ -974,6 +983,8 @@ public: MySqlBinding::createTimestamp(option->getModificationTime()) }; + MySqlTransaction transaction(conn_); + OptionDescriptorPtr existing_option = getOption4(selector, pool_id, option->option_->getType(), option->space_name_); @@ -988,6 +999,8 @@ public: conn_.insertQuery(MySqlConfigBackendDHCPv4Impl::INSERT_OPTION4, in_bindings); } + + transaction.commit(); } /// @brief Sends query to insert or update DHCP option in a shared network. @@ -1014,6 +1027,8 @@ public: MySqlBinding::createTimestamp(option->getModificationTime()) }; + MySqlTransaction transaction(conn_); + OptionDescriptorPtr existing_option = getOption4(selector, shared_network_name, option->option_->getType(), option->space_name_); @@ -1027,6 +1042,8 @@ public: } else { conn_.insertQuery(MySqlConfigBackendDHCPv4Impl::INSERT_OPTION4, in_bindings); } + + transaction.commit(); } /// @brief Sends query to retrieve single option definition by code and