From: Jelte Jansen Date: Mon, 4 Mar 2013 18:49:17 +0000 (+0100) Subject: [2746] Move sqlite3 log messages to own message file X-Git-Tag: bind10-1.1.0beta1-release~53^2~1^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de8d385ff22a2e60e26667a2138dce54677b59e4;p=thirdparty%2Fkea.git [2746] Move sqlite3 log messages to own message file --- diff --git a/src/lib/datasrc/Makefile.am b/src/lib/datasrc/Makefile.am index be79557dc2..abc1e7d9fc 100644 --- a/src/lib/datasrc/Makefile.am +++ b/src/lib/datasrc/Makefile.am @@ -19,6 +19,7 @@ static.zone: static.zone.pre $(top_builddir)/config.h $(top_srcdir)/AUTHORS $(SED) -e 's/\(.*\)/AUTHORS.BIND. 0 CH TXT "\1"/' $(top_srcdir)/AUTHORS >>$@ CLEANFILES = *.gcno *.gcda datasrc_messages.h datasrc_messages.cc +CLEANFILES += sqlite3_datasrc_messages.h sqlite3_datasrc_messages.cc CLEANFILES += datasrc_config.h CLEANFILES += static.zone @@ -45,6 +46,7 @@ pkglib_LTLIBRARIES = sqlite3_ds.la static_ds.la sqlite3_ds_la_SOURCES = sqlite3_accessor.h sqlite3_accessor.cc sqlite3_ds_la_SOURCES += sqlite3_accessor_link.cc +nodist_sqlite3_ds_la_SOURCES = sqlite3_datasrc_messages.h sqlite3_datasrc_messages.cc sqlite3_ds_la_LDFLAGS = -module -avoid-version sqlite3_ds_la_LDFLAGS += -no-undefined -version-info 1:0:0 sqlite3_ds_la_LIBADD = $(top_builddir)/src/lib/exceptions/libb10-exceptions.la @@ -65,10 +67,13 @@ libb10_datasrc_la_LIBADD += $(top_builddir)/src/lib/datasrc/memory/libdatasrc_me libb10_datasrc_la_LIBADD += $(SQLITE_LIBS) BUILT_SOURCES = datasrc_config.h datasrc_messages.h datasrc_messages.cc +BUILT_SOURCES += sqlite3_datasrc_messages.h sqlite3_datasrc_messages.cc datasrc_messages.h datasrc_messages.cc: Makefile datasrc_messages.mes $(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/datasrc/datasrc_messages.mes +sqlite3_datasrc_messages.h sqlite3_datasrc_messages.cc: Makefile sqlite3_datasrc_messages.mes + $(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/datasrc/sqlite3_datasrc_messages.mes -EXTRA_DIST = datasrc_messages.mes static.zone.pre +EXTRA_DIST = datasrc_messages.mes sqlite3_datasrc_messages.mes static.zone.pre zonedir = $(pkgdatadir) zone_DATA = static.zone diff --git a/src/lib/datasrc/datasrc_messages.mes b/src/lib/datasrc/datasrc_messages.mes index 2235df8cf3..9f579045e8 100644 --- a/src/lib/datasrc/datasrc_messages.mes +++ b/src/lib/datasrc/datasrc_messages.mes @@ -550,131 +550,6 @@ given domain or record. The code is 1 for error and 2 for not implemented. While processing a wildcard, a referral was met. But it wasn't possible to get enough information for it. The code is 1 for error, 2 for not implemented. -% DATASRC_SQLITE_CLOSE closing SQLite database -Debug information. The SQLite data source is closing the database file. - -% DATASRC_SQLITE_COMPATIBLE_VERSION database schema V%1.%2 not up to date (expecting V%3.%4) but is compatible -The version of the SQLite3 database schema used to hold the zone data -is not the latest one - the current version of BIND 10 was written -with a later schema version in mind. However, the database is -compatible with the current version of BIND 10, and BIND 10 will run -without any problems. - -Consult the release notes for your version of BIND 10. Depending on -the changes made to the database schema, it is possible that improved -performance could result if the database were upgraded. - -% DATASRC_SQLITE_CONNCLOSE Closing sqlite database -The database file is no longer needed and is being closed. - -% DATASRC_SQLITE_CONNOPEN Opening sqlite database file '%1' -The database file is being opened so it can start providing data. - -% DATASRC_SQLITE_CREATE SQLite data source created -Debug information. An instance of SQLite data source is being created. - -% DATASRC_SQLITE_DESTROY SQLite data source destroyed -Debug information. An instance of SQLite data source is being destroyed. - -% DATASRC_SQLITE_DROPCONN SQLite3Database is being deinitialized -The object around a database connection is being destroyed. - -% DATASRC_SQLITE_ENCLOSURE looking for zone containing '%1' -Debug information. The SQLite data source is trying to identify which zone -should hold this domain. - -% DATASRC_SQLITE_ENCLOSURE_NOT_FOUND no zone contains '%1' -Debug information. The last SQLITE_ENCLOSURE query was unsuccessful; there's -no such zone in our data. - -% DATASRC_SQLITE_FIND looking for RRset '%1/%2' -Debug information. The SQLite data source is looking up a resource record -set. - -% DATASRC_SQLITE_FINDADDRS looking for A/AAAA addresses for '%1' -Debug information. The data source is looking up the addresses for given -domain name. - -% DATASRC_SQLITE_FINDADDRS_BAD_CLASS class mismatch looking for addresses ('%1' and '%2') -The SQLite data source was looking up A/AAAA addresses, but the data source -contains different class than the query was for. - -% DATASRC_SQLITE_FINDEXACT looking for exact RRset '%1/%2' -Debug information. The SQLite data source is looking up an exact resource -record. - -% DATASRC_SQLITE_FINDEXACT_BAD_CLASS class mismatch looking for an RRset ('%1' and '%2') -The SQLite data source was looking up an exact RRset, but the data source -contains different class than the query was for. - -% DATASRC_SQLITE_FINDREC looking for record '%1/%2' -Debug information. The SQLite data source is looking up records of given name -and type in the database. - -% DATASRC_SQLITE_FINDREF looking for referral at '%1' -Debug information. The SQLite data source is identifying if this domain is -a referral and where it goes. - -% DATASRC_SQLITE_FINDREF_BAD_CLASS class mismatch looking for referral ('%1' and '%2') -The SQLite data source was trying to identify if there's a referral. But -it contains different class than the query was for. - -% DATASRC_SQLITE_FIND_BAD_CLASS class mismatch looking for an RRset ('%1' and '%2') -The SQLite data source was looking up an RRset, but the data source contains -different class than the query was for. - -% DATASRC_SQLITE_FIND_NSEC3 looking for NSEC3 in zone '%1' for hash '%2' -Debug information. We're trying to look up a NSEC3 record in the SQLite data -source. - -% DATASRC_SQLITE_FIND_NSEC3_NO_ZONE no such zone '%1' -The SQLite data source was asked to provide a NSEC3 record for given zone. -But it doesn't contain that zone. - -% DATASRC_SQLITE_INCOMPATIBLE_VERSION database schema V%1.%2 incompatible with version (V%3.%4) expected -The version of the SQLite3 database schema used to hold the zone data -is incompatible with the version expected by BIND 10. As a result, -BIND 10 is unable to run using the database file as the data source. - -The database should be updated using the means described in the BIND -10 documentation. - -% DATASRC_SQLITE_NEWCONN SQLite3Database is being initialized -A wrapper object to hold database connection is being initialized. - -% DATASRC_SQLITE_OPEN opening SQLite database '%1' -Debug information. The SQLite data source is loading an SQLite database in -the provided file. - -% DATASRC_SQLITE_PREVIOUS looking for name previous to '%1' -This is a debug message. The name given was not found, so the program -is searching for the next name higher up the hierarchy (e.g. if -www.example.com were queried for and not found, the software searches -for the "previous" name, example.com). - -% DATASRC_SQLITE_PREVIOUS_NO_ZONE no zone containing '%1' -The name given was not found, so the program is searching for the next -name higher up the hierarchy (e.g. if www.example.com were queried -for and not found, the software searches for the "previous" name, -example.com). However, this name is not contained in any zone in the -data source. This is an error since it indicates a problem in the earlier -processing of the query. - -% DATASRC_SQLITE_SETUP setting up new SQLite3 database in '%1' -The database for SQLite data source was found empty. It is assumed this is the -first run and it is being initialized with current schema. It'll still contain -no data, but it will be ready for use. If this is indeed the first run of -BIND 10, it is to be expected and completely harmless. If you just configured -a data source to point to an existing file and you see this, you may have -misspelled the file name. - -% DATASRC_SQLITE_SETUP_OLD_API setting up new SQLite database -The database for SQLite data source was found empty. It is assumed this is the -first run and it is being initialized with current schema. It'll still contain -no data, but it will be ready for use. This is similar to DATASRC_SQLITE_SETUP -message, but it is logged from the old API. You should never see it, since the -API is deprecated. - % DATASRC_STATIC_CLASS_NOT_CH static data source can handle CH class only An error message indicating that a query requesting a RR for a class other that CH was sent to the static data source (which only handles CH queries). diff --git a/src/lib/datasrc/sqlite3_accessor.cc b/src/lib/datasrc/sqlite3_accessor.cc index a8580281a1..d0bdf79ac0 100644 --- a/src/lib/datasrc/sqlite3_accessor.cc +++ b/src/lib/datasrc/sqlite3_accessor.cc @@ -23,6 +23,7 @@ #include #include +#include #include #include #include diff --git a/src/lib/datasrc/sqlite3_accessor_link.cc b/src/lib/datasrc/sqlite3_accessor_link.cc index 56e0c2fed2..6f38de4ed4 100644 --- a/src/lib/datasrc/sqlite3_accessor_link.cc +++ b/src/lib/datasrc/sqlite3_accessor_link.cc @@ -19,6 +19,8 @@ #include #include +#include + #include using namespace std; @@ -77,6 +79,9 @@ checkConfig(ConstElementPtr config, ElementPtr errors) { DataSourceClient * createInstance(isc::data::ConstElementPtr config, std::string& error) { + // Initialize the logging dictionary + isc::log::MessageInitializer::loadDictionary(true); + ElementPtr errors(Element::createList()); if (!checkConfig(config, errors)) { error = "Configuration error: " + errors->str(); diff --git a/src/lib/datasrc/tests/Makefile.am b/src/lib/datasrc/tests/Makefile.am index 79609637ad..e4446c64dc 100644 --- a/src/lib/datasrc/tests/Makefile.am +++ b/src/lib/datasrc/tests/Makefile.am @@ -62,6 +62,8 @@ run_unittests_SOURCES += zone_loader_unittest.cc # We need the actual module implementation in the tests (they are not part # of libdatasrc) run_unittests_SOURCES += $(top_srcdir)/src/lib/datasrc/sqlite3_accessor.cc +# Also, as of #2746, sqlite3-specific log messages are in a separate file +run_unittests_SOURCES += $(top_srcdir)/src/lib/datasrc/sqlite3_datasrc_messages.cc run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) run_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS) @@ -71,7 +73,7 @@ run_unittests_LDADD = $(common_ldadd) noinst_PROGRAMS+= $(TESTS) # For the factory unit tests, we need to specify that we want -# the loadable backend libraries from the build tree, and not from +# the loadable backend libraries from the build tree, and not from # the installation directory. Therefore we build it into a separate # binary, and call that from check-local with B10_FROM_BUILD set. # Also, we only want to do this when static building is not used,