summaryrefslogtreecommitdiff
path: root/platform/default/sqlite3.cpp
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2016-09-08 17:57:50 -0400
committerJason Wray <jason@mapbox.com>2016-09-09 05:42:20 -0400
commite26fa4dd4c8e414faf41f5ee1d5a442bcf1bab90 (patch)
tree20bb8b59c8152a7803fed0f8f2b386d9636540de /platform/default/sqlite3.cpp
parent29f4204d1c807109cdbe555f760744f0c928b548 (diff)
downloadqtlocation-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.cpp16
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);