From: Marcin Siodelski Date: Wed, 29 Aug 2018 13:40:02 +0000 (+0200) Subject: [#92,!13] Moved MySqlConnection class to libkea-mysql library. X-Git-Tag: gitlab116_base~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8300f8c92a4a469ed09682d2f3607c377fb0dafa;p=thirdparty%2Fkea.git [#92,!13] Moved MySqlConnection class to libkea-mysql library. --- diff --git a/configure.ac b/configure.ac index bb8dc7f0f2..d56a0d0789 100644 --- a/configure.ac +++ b/configure.ac @@ -1572,6 +1572,7 @@ AC_CONFIG_FILES([Makefile src/lib/log/tests/logger_lock_test.sh src/lib/log/tests/severity_test.sh src/lib/log/tests/tempdir.h + src/lib/mysql/Makefile src/lib/process/Makefile src/lib/process/tests/Makefile src/lib/process/testutils/Makefile diff --git a/src/bin/d2/Makefile.am b/src/bin/d2/Makefile.am index 9b11c32e5f..bc0cf74258 100644 --- a/src/bin/d2/Makefile.am +++ b/src/bin/d2/Makefile.am @@ -97,6 +97,12 @@ kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la + +if HAVE_MYSQL +kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + +kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/database/libkea-database.la kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la diff --git a/src/bin/d2/tests/Makefile.am b/src/bin/d2/tests/Makefile.am index e0084477bd..4a4841b877 100644 --- a/src/bin/d2/tests/Makefile.am +++ b/src/bin/d2/tests/Makefile.am @@ -85,6 +85,12 @@ d2_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la d2_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la d2_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la d2_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la + +if HAVE_MYSQL +d2_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + +d2_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la d2_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la d2_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la d2_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la diff --git a/src/bin/dhcp4/Makefile.am b/src/bin/dhcp4/Makefile.am index 5486dfe500..069e9f737c 100644 --- a/src/bin/dhcp4/Makefile.am +++ b/src/bin/dhcp4/Makefile.am @@ -84,6 +84,11 @@ kea_dhcp4_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la + +if HAVE_MYSQL +kea_dhcp4_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + kea_dhcp4_LDADD += $(top_builddir)/src/lib/database/libkea-database.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/log/libkea-log.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la diff --git a/src/bin/dhcp6/Makefile.am b/src/bin/dhcp6/Makefile.am index ff14c320d8..0e4654f7ac 100644 --- a/src/bin/dhcp6/Makefile.am +++ b/src/bin/dhcp6/Makefile.am @@ -84,6 +84,11 @@ kea_dhcp6_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la + +if HAVE_MYSQL +kea_dhcp6_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + kea_dhcp6_LDADD += $(top_builddir)/src/lib/database/libkea-database.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/log/libkea-log.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la diff --git a/src/bin/dhcp6/tests/Makefile.am b/src/bin/dhcp6/tests/Makefile.am index 6d587d5dd4..8597b9463a 100644 --- a/src/bin/dhcp6/tests/Makefile.am +++ b/src/bin/dhcp6/tests/Makefile.am @@ -135,6 +135,11 @@ dhcp6_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la + +if HAVE_MYSQL +dhcp6_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + dhcp6_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 50ad1ec787..9f6a23755d 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -1,4 +1,10 @@ # The following build order must be maintained. -SUBDIRS = exceptions util log cryptolink dns asiolink cc database testutils \ - hooks dhcp config stats asiodns dhcp_ddns eval dhcpsrv cfgrpt \ - process http +SUBDIRS = exceptions util log cryptolink dns asiolink cc database + +if HAVE_MYSQL +SUBDIRS += mysql +endif + +SUBDIRS += testutils hooks dhcp config stats asiodns dhcp_ddns eval \ + dhcpsrv cfgrpt \ + process http diff --git a/src/lib/database/Makefile.am b/src/lib/database/Makefile.am index 0dbb04fcfb..76a083e13b 100644 --- a/src/lib/database/Makefile.am +++ b/src/lib/database/Makefile.am @@ -20,7 +20,7 @@ BUILT_SOURCES = db_messages.h db_messages.cc EXTRA_DIST = db_messages.mes # Get rid of generated message files on a clean -CLEANFILES = *.gcno *.gcda http_messages.h http_messages.cc s-messages +CLEANFILES = *.gcno *.gcda db_messages.h db_messages.cc s-messages lib_LTLIBRARIES = libkea-database.la libkea_database_la_SOURCES = database_connection.cc database_connection.h diff --git a/src/lib/dhcpsrv/Makefile.am b/src/lib/dhcpsrv/Makefile.am index b520518bea..52346131dd 100644 --- a/src/lib/dhcpsrv/Makefile.am +++ b/src/lib/dhcpsrv/Makefile.am @@ -138,7 +138,6 @@ libkea_dhcpsrv_la_SOURCES += sql_common.h if HAVE_MYSQL libkea_dhcpsrv_la_SOURCES += mysql_lease_mgr.cc mysql_lease_mgr.h -libkea_dhcpsrv_la_SOURCES += mysql_connection.cc mysql_connection.h libkea_dhcpsrv_la_SOURCES += mysql_host_data_source.cc mysql_host_data_source.h endif @@ -215,6 +214,11 @@ libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la + +if HAVE_MYSQL +libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la @@ -317,7 +321,6 @@ endif if HAVE_MYSQL libkea_dhcpsrv_include_HEADERS += \ - mysql_connection.h \ mysql_host_data_source.h \ mysql_lease_mgr.h endif diff --git a/src/lib/dhcpsrv/mysql_host_data_source.h b/src/lib/dhcpsrv/mysql_host_data_source.h index 719aa04fe0..9bae27107f 100644 --- a/src/lib/dhcpsrv/mysql_host_data_source.h +++ b/src/lib/dhcpsrv/mysql_host_data_source.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/src/lib/dhcpsrv/mysql_lease_mgr.cc b/src/lib/dhcpsrv/mysql_lease_mgr.cc index 2ba750c89e..d39458d9b7 100644 --- a/src/lib/dhcpsrv/mysql_lease_mgr.cc +++ b/src/lib/dhcpsrv/mysql_lease_mgr.cc @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/lib/dhcpsrv/mysql_lease_mgr.h b/src/lib/dhcpsrv/mysql_lease_mgr.h index ba732f5652..a11009c874 100644 --- a/src/lib/dhcpsrv/mysql_lease_mgr.h +++ b/src/lib/dhcpsrv/mysql_lease_mgr.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include @@ -803,7 +803,7 @@ private: boost::scoped_ptr exchange6_; ///< Exchange object /// @brief MySQL connection - MySqlConnection conn_; + db::MySqlConnection conn_; }; } // namespace dhcp diff --git a/src/lib/dhcpsrv/tests/Makefile.am b/src/lib/dhcpsrv/tests/Makefile.am index 7326be8ce5..6f4347bada 100644 --- a/src/lib/dhcpsrv/tests/Makefile.am +++ b/src/lib/dhcpsrv/tests/Makefile.am @@ -170,6 +170,11 @@ libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la + +if HAVE_MYSQL +libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la libdhcpsrv_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la diff --git a/src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc b/src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc index 356b776216..898d32add3 100644 --- a/src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc @@ -10,13 +10,13 @@ #include #include #include -#include #include #include #include #include #include #include +#include #include diff --git a/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc b/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc index c5f1c4c361..e2ce91b2a6 100644 --- a/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc +++ b/src/lib/dhcpsrv/tests/mysql_lease_mgr_unittest.cc @@ -8,12 +8,12 @@ #include #include -#include #include #include #include #include #include +#include #include diff --git a/src/lib/dhcpsrv/testutils/mysql_schema.cc b/src/lib/dhcpsrv/testutils/mysql_schema.cc index 6b1225bfb7..c079218135 100644 --- a/src/lib/dhcpsrv/testutils/mysql_schema.cc +++ b/src/lib/dhcpsrv/testutils/mysql_schema.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2015-2016 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include #include #include diff --git a/src/lib/mysql/Makefile.am b/src/lib/mysql/Makefile.am new file mode 100644 index 0000000000..d1af246aab --- /dev/null +++ b/src/lib/mysql/Makefile.am @@ -0,0 +1,29 @@ +SUBDIRS = . + +AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_builddir)/src/lib +AM_CPPFLAGS += $(BOOST_INCLUDES) $(MYSQL_CPPFLAGS) + +AM_CXXFLAGS = $(KEA_CXXFLAGS) + +CLEANFILES = *.gcno *.gcda + +lib_LTLIBRARIES = libkea-mysql.la +libkea_mysql_la_SOURCES = mysql_connection.cc mysql_connection.h + +libkea_mysql_la_LIBADD = $(top_builddir)/src/lib/database/libkea-database.la +libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la +libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la +libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la +libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la +libkea_mysql_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +libkea_mysql_la_LIBADD += $(LOG4CPLUS_LIBS) $(BOOST_LIBS) + +libkea_mysql_la_LDFLAGS = -no-undefined -version-info 0:0:0 + +libkea_mysql_la_LDFLAGS += $(MYSQL_LIBS) + +# Specify the headers for copying into the installation directory tree. +libkea_mysql_includedir = $(pkgincludedir)/database +libkea_mysql_include_HEADERS = \ + mysql_connection.h diff --git a/src/lib/dhcpsrv/mysql_connection.cc b/src/lib/mysql/mysql_connection.cc similarity index 99% rename from src/lib/dhcpsrv/mysql_connection.cc rename to src/lib/mysql/mysql_connection.cc index 6f9785ed3e..350506563f 100644 --- a/src/lib/dhcpsrv/mysql_connection.cc +++ b/src/lib/mysql/mysql_connection.cc @@ -8,8 +8,8 @@ #include #include -#include #include +#include #include @@ -19,12 +19,10 @@ #include using namespace isc; -using namespace isc::db; -using namespace isc::dhcp; using namespace std; namespace isc { -namespace dhcp { +namespace db { const my_bool MLM_FALSE = 0; const my_bool MLM_TRUE = 1; @@ -400,5 +398,5 @@ MySqlConnection::rollback() { } -} // namespace isc::dhcp +} // namespace isc::db } // namespace isc diff --git a/src/lib/dhcpsrv/mysql_connection.h b/src/lib/mysql/mysql_connection.h similarity index 99% rename from src/lib/dhcpsrv/mysql_connection.h rename to src/lib/mysql/mysql_connection.h index ca29521386..e77a9d1e84 100644 --- a/src/lib/dhcpsrv/mysql_connection.h +++ b/src/lib/mysql/mysql_connection.h @@ -18,7 +18,7 @@ #include namespace isc { -namespace dhcp { +namespace db { /// @name MySQL constants. /// @@ -436,7 +436,7 @@ public: MySqlHolder mysql_; }; -}; // end of isc::dhcp namespace +}; // end of isc::db namespace }; // end of isc namespace #endif // MYSQL_CONNECTION_H diff --git a/src/lib/process/Makefile.am b/src/lib/process/Makefile.am index 74edeaaf70..0a0efda632 100644 --- a/src/lib/process/Makefile.am +++ b/src/lib/process/Makefile.am @@ -55,6 +55,12 @@ libkea_process_la_LIBADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la + +if HAVE_MYSQL +libkea_process_la_LIBADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +endif + +libkea_process_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la libkea_process_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la