diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-02-24 13:06:07 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-02-24 13:09:28 +0000 |
commit | ab47c39c82abee7f0e0cff981dc352fdc310a6fe (patch) | |
tree | 238979d93b5c4c810c130367fcaccdfacf420b9b | |
parent | Don't rely on libdbppcore's columns (diff) | |
download | libdbpp-sqlite-ab47c39c82abee7f0e0cff981dc352fdc310a6fe.tar.bz2 libdbpp-sqlite-ab47c39c82abee7f0e0cff981dc352fdc310a6fe.tar.xz libdbpp-sqlite-ab47c39c82abee7f0e0cff981dc352fdc310a6fe.zip |
Bring up-to-date with libdbpp.
-rw-r--r-- | libsqlitepp/Jamfile.jam | 6 | ||||
-rw-r--r-- | libsqlitepp/sqlite-command.cpp | 7 | ||||
-rw-r--r-- | libsqlitepp/sqlite-command.h | 1 | ||||
-rw-r--r-- | libsqlitepp/sqlite-mock.cpp | 11 | ||||
-rw-r--r-- | libsqlitepp/sqlite-mock.h | 8 | ||||
-rw-r--r-- | libsqlitepp/sqlite-selectcommand.cpp | 4 |
6 files changed, 20 insertions, 17 deletions
diff --git a/libsqlitepp/Jamfile.jam b/libsqlitepp/Jamfile.jam index 6d99b4b..b624c3f 100644 --- a/libsqlitepp/Jamfile.jam +++ b/libsqlitepp/Jamfile.jam @@ -4,8 +4,7 @@ lib libsqlite : : <name>sqlite3 ; lib adhocutil : : : : <include>/usr/include/adhocutil ; lib dbppcore : : : : <include>/usr/include/dbpp ; lib boost_date_time ; -lib boost_filesystem ; -lib boost_system ; +lib stdc++fs ; lib dbpp-sqlite : [ glob *.cpp ] : @@ -14,8 +13,7 @@ lib dbpp-sqlite : <library>adhocutil <library>dbppcore <library>boost_date_time - <library>boost_system - <library>boost_filesystem + <library>stdc++fs : : <include>. <library>..//glibmm diff --git a/libsqlitepp/sqlite-command.cpp b/libsqlitepp/sqlite-command.cpp index 3d8ac07..adaf41e 100644 --- a/libsqlitepp/sqlite-command.cpp +++ b/libsqlitepp/sqlite-command.cpp @@ -76,7 +76,12 @@ SQLite::Command::bindParamF(unsigned int n, float v) void SQLite::Command::bindParamS(unsigned int n, const Glib::ustring & s) { - if (sqlite3_bind_text(stmt, n + 1, s.c_str(), s.length(), SQLITE_STATIC) != SQLITE_OK) { + return bindParamS(n, std::string_view(s.raw())); +} +void +SQLite::Command::bindParamS(unsigned int n, const std::string_view & s) +{ + if (sqlite3_bind_text(stmt, n + 1, s.data(), s.length(), SQLITE_STATIC) != SQLITE_OK) { throw Error(c->db); } } diff --git a/libsqlitepp/sqlite-command.h b/libsqlitepp/sqlite-command.h index c66d71d..cbc9932 100644 --- a/libsqlitepp/sqlite-command.h +++ b/libsqlitepp/sqlite-command.h @@ -24,6 +24,7 @@ namespace SQLite { void bindParamF(unsigned int, float) override; void bindParamS(unsigned int, const Glib::ustring&) override; + void bindParamS(unsigned int, const std::string_view&) override; void bindParamT(unsigned int, const boost::posix_time::time_duration &) override; void bindParamT(unsigned int, const boost::posix_time::ptime &) override; diff --git a/libsqlitepp/sqlite-mock.cpp b/libsqlitepp/sqlite-mock.cpp index 7a18b87..510b209 100644 --- a/libsqlitepp/sqlite-mock.cpp +++ b/libsqlitepp/sqlite-mock.cpp @@ -1,20 +1,19 @@ #include "sqlite-mock.h" #include "sqlite-connection.h" #include <boost/lexical_cast.hpp> -#include <boost/filesystem/operations.hpp> NAMEDFACTORY("sqlite", SQLite::Mock, DB::MockDatabaseFactory); namespace SQLite { -Mock::Mock(const std::string & root, const std::string & name, const std::vector<boost::filesystem::path> & ss) : - testDbPath(boost::filesystem::path(root) / name / boost::lexical_cast<std::string>(getpid()) / boost::lexical_cast<std::string>(++DB::MockDatabase::mocked)) +Mock::Mock(const std::string & root, const std::string & name, const std::vector<std::filesystem::path> & ss) : + testDbPath(std::filesystem::path(root) / name / boost::lexical_cast<std::string>(getpid()) / boost::lexical_cast<std::string>(++DB::MockDatabase::mocked)) { CreateNewDatabase(); PlaySchemaScripts(ss); } -Mock::Mock(const std::string & name, const std::vector<boost::filesystem::path> & ss) : +Mock::Mock(const std::string & name, const std::vector<std::filesystem::path> & ss) : Mock("/tmp/sqliteut", name, ss) { } @@ -32,12 +31,12 @@ Mock::~Mock() void Mock::DropDatabase() const { - boost::filesystem::remove(testDbPath); + std::filesystem::remove(testDbPath); } void Mock::CreateNewDatabase() const { - boost::filesystem::create_directories(testDbPath.parent_path()); + std::filesystem::create_directories(testDbPath.parent_path()); openConnection(); // Triggers file creation } diff --git a/libsqlitepp/sqlite-mock.h b/libsqlitepp/sqlite-mock.h index 4580778..cc182d4 100644 --- a/libsqlitepp/sqlite-mock.h +++ b/libsqlitepp/sqlite-mock.h @@ -2,15 +2,15 @@ #define MOCKSQLITEDATASOURCE_H #include <mockDatabase.h> -#include <boost/filesystem/path.hpp> +#include <filesystem> #include <visibility.h> namespace SQLite { class DLL_PUBLIC Mock : public DB::MockDatabase { public: - Mock(const std::string & root, const std::string & name, const std::vector<boost::filesystem::path> & ss); - Mock(const std::string & name, const std::vector<boost::filesystem::path> & ss); + Mock(const std::string & root, const std::string & name, const std::vector<std::filesystem::path> & ss); + Mock(const std::string & name, const std::vector<std::filesystem::path> & ss); ~Mock(); protected: @@ -20,7 +20,7 @@ class DLL_PUBLIC Mock : public DB::MockDatabase { DB::ConnectionPtr openConnection() const override; private: - const boost::filesystem::path testDbPath; + const std::filesystem::path testDbPath; }; } diff --git a/libsqlitepp/sqlite-selectcommand.cpp b/libsqlitepp/sqlite-selectcommand.cpp index 67e90ba..909dc5c 100644 --- a/libsqlitepp/sqlite-selectcommand.cpp +++ b/libsqlitepp/sqlite-selectcommand.cpp @@ -30,7 +30,7 @@ namespace SQLite { { auto t = sqlite3_column_text(stmt, colNo); auto l = sqlite3_column_bytes(stmt, colNo); - h.string(reinterpret_cast<const char *>(t), l); + h.string({ reinterpret_cast<const char *>(t), (std::size_t)l }); return; } case SQLITE_NULL: @@ -66,7 +66,7 @@ SQLite::SelectCommand::fetch() case SQLITE_ROW: if (!columnCount()) { for (int c = sqlite3_data_count(stmt) - 1; c >= 0; c -= 1) { - insertColumn(std::make_shared<Column>(sqlite3_column_name(stmt, c), c, stmt)); + insertColumn(std::make_unique<Column>(sqlite3_column_name(stmt, c), c, stmt)); } } return true; |