diff options
author | Jason Wray <jason@mapbox.com> | 2016-09-08 17:57:50 -0400 |
---|---|---|
committer | Jason Wray <jason@mapbox.com> | 2016-09-09 05:42:20 -0400 |
commit | e26fa4dd4c8e414faf41f5ee1d5a442bcf1bab90 (patch) | |
tree | 20bb8b59c8152a7803fed0f8f2b386d9636540de /platform/default/sqlite3.cpp | |
parent | 29f4204d1c807109cdbe555f760744f0c928b548 (diff) | |
download | qtlocation-mapboxgl-e26fa4dd4c8e414faf41f5ee1d5a442bcf1bab90.tar.gz |
[core] Move SQLite logging setup to before database initialization
- Ensure that sqlite3_config() is always called before db init.
- Should only be called once, now.
- Move sqliteVersionCheck into mapbox::sqlite namespace.
Diffstat (limited to 'platform/default/sqlite3.cpp')
-rw-r--r-- | platform/default/sqlite3.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/platform/default/sqlite3.cpp b/platform/default/sqlite3.cpp index da50a1db87..578e407739 100644 --- a/platform/default/sqlite3.cpp +++ b/platform/default/sqlite3.cpp @@ -9,6 +9,12 @@ #include <mbgl/platform/log.hpp> +namespace mapbox { +namespace sqlite { + +template <typename T> +using optional = std::experimental::optional<T>; + const static bool sqliteVersionCheck __attribute__((unused)) = []() { if (sqlite3_libversion_number() / 1000000 != SQLITE_VERSION_NUMBER / 1000000) { char message[96]; @@ -18,17 +24,13 @@ const static bool sqliteVersionCheck __attribute__((unused)) = []() { throw std::runtime_error(message); } + // Enable SQLite logging before initializing the database. + sqlite3_config(SQLITE_CONFIG_LOG, Database::errorLogCallback, nullptr); + return true; }(); -namespace mapbox { -namespace sqlite { - -template <typename T> -using optional = std::experimental::optional<T>; - Database::Database(const std::string &filename, int flags) { - sqlite3_config(SQLITE_CONFIG_LOG, errorLogCallback, nullptr); const int err = sqlite3_open_v2(filename.c_str(), &db, flags, nullptr); if (err != SQLITE_OK) { const auto message = sqlite3_errmsg(db); |