]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_sqlite3.cpp
sslinfo: use the SSL certificate API to get user SSL certificates.
[user/henk/code/inspircd.git] / src / modules / extra / m_sqlite3.cpp
index 0f596a0f7bc65a2be247d2e841a452093e80f84b..47c5b01a4b0aa1abc6a8395a56c306ea6dc7a08c 100644 (file)
 #include "inspircd.h"
 #include "modules/sql.h"
 
+#ifdef __GNUC__
+# pragma GCC diagnostic push
+#endif
+
 // Fix warnings about the use of `long long` on C++03.
 #if defined __clang__
 # pragma clang diagnostic ignored "-Wc++11-long-long"
 
 #include <sqlite3.h>
 
+#ifdef __GNUC__
+# pragma GCC diagnostic pop
+#endif
+
 #ifdef _WIN32
 # pragma comment(lib, "sqlite3.lib")
 #endif
@@ -82,6 +90,19 @@ class SQLite3Result : public SQL::Result
        {
                result.assign(columns.begin(), columns.end());
        }
+
+       bool HasColumn(const std::string& column, size_t& index) CXX11_OVERRIDE
+       {
+               for (size_t i = 0; i < columns.size(); ++i)
+               {
+                       if (columns[i] == column)
+                       {
+                               index = i;
+                               return true;
+                       }
+               }
+               return false;
+       }
 };
 
 class SQLConn : public SQL::Provider
@@ -161,6 +182,7 @@ class SQLConn : public SQL::Provider
 
        void Submit(SQL::Query* query, const std::string& q) CXX11_OVERRIDE
        {
+               ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Executing SQLite3 query: " + q);
                Query(query, q);
                delete query;
        }
@@ -241,7 +263,7 @@ class ModuleSQLite3 : public Module
                ConfigTagList tags = ServerInstance->Config->ConfTags("database");
                for(ConfigIter i = tags.first; i != tags.second; i++)
                {
-                       if (i->second->getString("module", "sqlite") != "sqlite")
+                       if (!stdalgo::string::equalsci(i->second->getString("module"), "sqlite"))
                                continue;
                        SQLConn* conn = new SQLConn(this, i->second);
                        conns.insert(std::make_pair(i->second->getString("id"), conn));
@@ -251,7 +273,7 @@ class ModuleSQLite3 : public Module
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("sqlite3 provider", VF_VENDOR);
+               return Version("Provides SQLite3 support", VF_VENDOR);
        }
 };