diff options
-rw-r--r-- | Jamroot.jam | 1 | ||||
-rw-r--r-- | libdbpp/column.cpp | 6 | ||||
-rw-r--r-- | libdbpp/command.cpp | 12 | ||||
-rw-r--r-- | libdbpp/command.h | 6 | ||||
-rw-r--r-- | libdbpp/connection.cpp | 6 | ||||
-rw-r--r-- | libdbpp/connection.h | 8 | ||||
-rw-r--r-- | libdbpp/connectionPool.cpp | 4 | ||||
-rw-r--r-- | libdbpp/connectionPool.h | 2 | ||||
-rw-r--r-- | libdbpp/createMockDb.cpp | 2 | ||||
-rw-r--r-- | libdbpp/error.cpp | 13 | ||||
-rw-r--r-- | libdbpp/error.h | 8 | ||||
-rw-r--r-- | libdbpp/mockDatabase.cpp | 4 | ||||
-rw-r--r-- | libdbpp/mockDatabase.h | 2 | ||||
-rw-r--r-- | libdbpp/modifycommand.cpp | 4 | ||||
-rw-r--r-- | libdbpp/modifycommand.h | 2 | ||||
-rw-r--r-- | libdbpp/selectcommand.cpp | 10 | ||||
-rw-r--r-- | libdbpp/selectcommand.h | 6 | ||||
-rw-r--r-- | libdbpp/sqlParse.h | 4 | ||||
-rw-r--r-- | libdbpp/sqlParseImpl.cpp | 8 | ||||
-rw-r--r-- | libdbpp/sqlWriter.cpp | 4 | ||||
-rw-r--r-- | libdbpp/sqlWriter.h | 2 | ||||
-rw-r--r-- | libdbpp/tablepatch.cpp | 4 | ||||
m--------- | libdbpp/unittests/libdbpp-mysql | 0 | ||||
m--------- | libdbpp/unittests/libdbpp-postgresql | 0 | ||||
-rw-r--r-- | libdbpp/unittests/testParse.cpp | 6 | ||||
-rw-r--r-- | libdbpp/unittests/testUtils.cpp | 8 |
26 files changed, 47 insertions, 85 deletions
diff --git a/Jamroot.jam b/Jamroot.jam index c9d6c33..6857f8a 100644 --- a/Jamroot.jam +++ b/Jamroot.jam @@ -19,6 +19,7 @@ project <toolset>tidy:<checkxx>bugprone-* <toolset>tidy:<checkxx>clang-* <toolset>tidy:<checkxx>misc-* + <toolset>tidy:<checkxx>modernize-* ; build-project libdbpp ; diff --git a/libdbpp/column.cpp b/libdbpp/column.cpp index a02ba01..512d083 100644 --- a/libdbpp/column.cpp +++ b/libdbpp/column.cpp @@ -17,7 +17,7 @@ static std::string demangle(const char * const mangled) { - std::unique_ptr<char, decltype(&free)> r(abi::__cxa_demangle(mangled, NULL, NULL, NULL), &free); + std::unique_ptr<char, decltype(&free)> r(abi::__cxa_demangle(mangled, nullptr, nullptr, nullptr), &free); return &*r; }; @@ -25,7 +25,7 @@ InvalidConversion::InvalidConversion(const char * const f, const char * const t) AdHocFormatter(InvalidConversionMsg, "Invalid conversion from column type (%?) to value type (%?)"); std::string -InvalidConversion::message() const throw() +InvalidConversion::message() const noexcept { return InvalidConversionMsg::get(from, to); } @@ -34,7 +34,7 @@ UnexpectedNullValue::UnexpectedNullValue(const char * const t) : to(t) { } AdHocFormatter(UnexpectedNullValueMsg, "Unexpected null value in column expecting type (%?)"); std::string -UnexpectedNullValue::message() const throw() +UnexpectedNullValue::message() const noexcept { return InvalidConversionMsg::get(to, to); } diff --git a/libdbpp/command.cpp b/libdbpp/command.cpp index 551f4bc..0c97403 100644 --- a/libdbpp/command.cpp +++ b/libdbpp/command.cpp @@ -6,21 +6,13 @@ INSTANTIATEFACTORY(DB::CommandOptions, std::size_t, const DB::CommandOptionsMap NAMEDFACTORY("", DB::CommandOptions, DB::CommandOptionsFactory); PLUGINRESOLVER(DB::CommandOptionsFactory, DB::Connection::resolvePlugin); -DB::Command::Command(const std::string & s) : - sql(s) +DB::Command::Command(std::string s) : + sql(std::move(s)) { } DB::Command::~Command() = default; -DB::ParameterTypeNotSupported::ParameterTypeNotSupported() -{ -} - -DB::ParameterOutOfRange::ParameterOutOfRange() -{ -} - DB::CommandOptions::CommandOptions(std::size_t h, const CommandOptionsMap &) : hash(h) { diff --git a/libdbpp/command.h b/libdbpp/command.h index c9092b0..6f66559 100644 --- a/libdbpp/command.h +++ b/libdbpp/command.h @@ -15,14 +15,10 @@ namespace DB { /// Exception thrown when binding a parameter of type the connector doesn't support. class DLL_PUBLIC ParameterTypeNotSupported : public Error { - public: - ParameterTypeNotSupported(); }; /// Exception thrown when binding a parameter out of range of those defined in the command. class DLL_PUBLIC ParameterOutOfRange : public Error { - public: - ParameterOutOfRange(); }; /// Represents the basic options that can be passed when creating new commands. @@ -59,7 +55,7 @@ namespace DB { class DLL_PUBLIC Command { public: /// Creates a new command from the given SQL. - Command(const std::string & sql); + Command(std::string sql); virtual ~Command() = 0; /// Bind an integer to parameter i. diff --git a/libdbpp/connection.cpp b/libdbpp/connection.cpp index a3ae615..8050d06 100644 --- a/libdbpp/connection.cpp +++ b/libdbpp/connection.cpp @@ -8,12 +8,12 @@ #include <system_error> DB::ConnectionError::ConnectionError() : - FailureTime(time(NULL)) + FailureTime(time(nullptr)) { } std::string -DB::TransactionStillOpen::message() const throw() +DB::TransactionStillOpen::message() const noexcept { return "A transaction is still open."; } @@ -178,7 +178,7 @@ DB::Connection::insertId() } std::string -DB::TransactionRequired::message() const throw() +DB::TransactionRequired::message() const noexcept { return "A transaction must be opened before performing this operation"; } diff --git a/libdbpp/connection.h b/libdbpp/connection.h index 2d4bc9b..c7efce4 100644 --- a/libdbpp/connection.h +++ b/libdbpp/connection.h @@ -67,25 +67,25 @@ namespace DB { /// Exception thrown when finishing a connection that still has a transaction open. class DLL_PUBLIC TransactionStillOpen : public AdHoc::StdException { private: - std::string message() const throw() override; + std::string message() const noexcept override; }; /// Exception thrown when attempting to open a transaction when one is already open. class DLL_PUBLIC TransactionAlreadyOpen : public AdHoc::StdException { private: - std::string message() const throw() override; + std::string message() const noexcept override; }; /// Exception thrown when attempting to perform a table patch with invalid settings. class DLL_PUBLIC PatchCheckFailure : public AdHoc::StdException { private: - std::string message() const throw() override; + std::string message() const noexcept override; }; /// Exception thrown when attempting to perform an action that requires a transaction when one is not open. class DLL_PUBLIC TransactionRequired : public AdHoc::StdException { private: - std::string message() const throw() override; + std::string message() const noexcept override; }; /// Base class for connections to a database. diff --git a/libdbpp/connectionPool.cpp b/libdbpp/connectionPool.cpp index 0eda241..d61a1a4 100644 --- a/libdbpp/connectionPool.cpp +++ b/libdbpp/connectionPool.cpp @@ -10,10 +10,10 @@ namespace DB { { } - ConnectionPool::ConnectionPool(unsigned int m, unsigned int k, const std::string & t, const std::string & cs) : + ConnectionPool::ConnectionPool(unsigned int m, unsigned int k, const std::string & t, std::string cs) : BasicConnectionPool(m, k), factory(ConnectionFactory::get(t)), - connectionString(cs) + connectionString(std::move(cs)) { } diff --git a/libdbpp/connectionPool.h b/libdbpp/connectionPool.h index f7760aa..e03b6c8 100644 --- a/libdbpp/connectionPool.h +++ b/libdbpp/connectionPool.h @@ -30,7 +30,7 @@ namespace DB { /// @param keep Number of connections to keep open after use. /// @param type Database connection factory name. /// @param connectionString Connection string to pass to the connection factory. - ConnectionPool(unsigned int max, unsigned int keep, const std::string & type, const std::string & connectionString); + ConnectionPool(unsigned int max, unsigned int keep, const std::string & type, std::string connectionString); protected: /// Create a new connection. diff --git a/libdbpp/createMockDb.cpp b/libdbpp/createMockDb.cpp index a4d5638..f690f6c 100644 --- a/libdbpp/createMockDb.cpp +++ b/libdbpp/createMockDb.cpp @@ -1,7 +1,7 @@ #include <iostream> #include <boost/program_options.hpp> #include <filesystem> -#include <signal.h> +#include <csignal> #include "mockDatabase.h" namespace po = boost::program_options; diff --git a/libdbpp/error.cpp b/libdbpp/error.cpp deleted file mode 100644 index 5d0a937..0000000 --- a/libdbpp/error.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "error.h" -#include <time.h> - -namespace DB { - ColumnTypeNotSupported::ColumnTypeNotSupported() - { - } - - BulkUploadNotSupported::BulkUploadNotSupported() - { - } -} - diff --git a/libdbpp/error.h b/libdbpp/error.h index c36d864..7c36281 100644 --- a/libdbpp/error.h +++ b/libdbpp/error.h @@ -12,14 +12,10 @@ namespace DB { /// Exception thrown when attempting to bulk upload with a connector that doesn't support it. class DLL_PUBLIC BulkUploadNotSupported : public Error { - public: - BulkUploadNotSupported(); }; /// Exception thrown when a query returns an unsupported column type. class DLL_PUBLIC ColumnTypeNotSupported : public Error { - public: - ColumnTypeNotSupported(); }; /// Exception thrown on an attempt to convert betweem incompatible types. @@ -31,7 +27,7 @@ namespace DB { InvalidConversion(const char * const from, const char * const to); private: - std::string message() const throw() override; + std::string message() const noexcept override; const std::string from; const std::string to; }; @@ -43,7 +39,7 @@ namespace DB { UnexpectedNullValue(const char * const from); private: - std::string message() const throw() override; + std::string message() const noexcept override; const char * to; }; } diff --git a/libdbpp/mockDatabase.cpp b/libdbpp/mockDatabase.cpp index bdc151c..7f06b6c 100644 --- a/libdbpp/mockDatabase.cpp +++ b/libdbpp/mockDatabase.cpp @@ -61,10 +61,6 @@ MockServerDatabase::MockServerDatabase(const std::string & masterdb, const std:: { } -MockServerDatabase::~MockServerDatabase() -{ -} - const std::string & MockServerDatabase::databaseName() const { diff --git a/libdbpp/mockDatabase.h b/libdbpp/mockDatabase.h index 11a1bbd..bf02c4a 100644 --- a/libdbpp/mockDatabase.h +++ b/libdbpp/mockDatabase.h @@ -44,7 +44,7 @@ class DLL_PUBLIC MockServerDatabase : public MockDatabase { /// @param name the prefix to use when creating databases. /// @param type the database type. MockServerDatabase(const std::string & masterdb, const std::string & name, const std::string & type); - virtual ~MockServerDatabase(); + virtual ~MockServerDatabase() = default; /// Get the database instance name on the server. const std::string & databaseName() const; diff --git a/libdbpp/modifycommand.cpp b/libdbpp/modifycommand.cpp index 7fd2685..79c8244 100644 --- a/libdbpp/modifycommand.cpp +++ b/libdbpp/modifycommand.cpp @@ -5,7 +5,3 @@ DB::ModifyCommand::ModifyCommand(const std::string & s) : { } -DB::NoRowsAffected::NoRowsAffected() -{ -} - diff --git a/libdbpp/modifycommand.h b/libdbpp/modifycommand.h index c05792c..b948479 100644 --- a/libdbpp/modifycommand.h +++ b/libdbpp/modifycommand.h @@ -8,8 +8,6 @@ namespace DB { /// Exception thrown when an update affected no rows when some were expected. class DLL_PUBLIC NoRowsAffected : public Error { - public: - NoRowsAffected(); }; /// Presents a command not expected to return any data. diff --git a/libdbpp/selectcommand.cpp b/libdbpp/selectcommand.cpp index 661484c..568b95b 100644 --- a/libdbpp/selectcommand.cpp +++ b/libdbpp/selectcommand.cpp @@ -12,24 +12,24 @@ namespace DB { AdHocFormatter(ColumnIndexOutOfRangeMsg, "Column (%?) index out of range"); std::string - ColumnIndexOutOfRange::message() const throw() + ColumnIndexOutOfRange::message() const noexcept { return ColumnIndexOutOfRangeMsg::get(colNo); } - ColumnDoesNotExist::ColumnDoesNotExist(const Glib::ustring & n) : colName(n) { } + ColumnDoesNotExist::ColumnDoesNotExist(Glib::ustring n) : colName(std::move(n)) { } AdHocFormatter(ColumnDoesNotExistMsg, "Column (%?) does not exist"); std::string - ColumnDoesNotExist::message() const throw() + ColumnDoesNotExist::message() const noexcept { return ColumnDoesNotExistMsg::get(colName); } - typedef boost::multi_index_container<ColumnPtr, boost::multi_index::indexed_by< + using ColumnsBase = boost::multi_index_container<ColumnPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique<boost::multi_index::member<DB::Column, const unsigned int, &DB::Column::colNo>>, boost::multi_index::ordered_unique<boost::multi_index::member<DB::Column, const std::string, &DB::Column::name>> - >> ColumnsBase; + >>; class SelectCommand::Columns : public ColumnsBase { }; }; diff --git a/libdbpp/selectcommand.h b/libdbpp/selectcommand.h index 2fb9253..871b332 100644 --- a/libdbpp/selectcommand.h +++ b/libdbpp/selectcommand.h @@ -83,7 +83,7 @@ namespace DB { const unsigned int colNo; private: - std::string message() const throw() override; + std::string message() const noexcept override; }; /// Exception thrown when the requested column does not exist in the result set. @@ -91,13 +91,13 @@ namespace DB { public: /// New ColumnDoesNotExist exception /// @param n Name requested - ColumnDoesNotExist(const Glib::ustring & n); + ColumnDoesNotExist(Glib::ustring n); /// Name requested const Glib::ustring colName; private: - std::string message() const throw() override; + std::string message() const noexcept override; }; /// Represents a command expected to return data to the client. diff --git a/libdbpp/sqlParse.h b/libdbpp/sqlParse.h index fc6b4c9..20d6c0e 100644 --- a/libdbpp/sqlParse.h +++ b/libdbpp/sqlParse.h @@ -21,7 +21,7 @@ namespace DB { SqlParseException(const char * what, unsigned int line); private: - std::string message() const throw() override; + std::string message() const noexcept override; const char * reason; const unsigned int line; }; @@ -29,7 +29,7 @@ namespace DB { /// @cond class DLL_PUBLIC SqlParse : public yyFlexLexer { public: - SqlParse(std::istream &, const std::filesystem::path &); + SqlParse(std::istream &, std::filesystem::path); void Execute(); diff --git a/libdbpp/sqlParseImpl.cpp b/libdbpp/sqlParseImpl.cpp index a187ba7..f646dbe 100644 --- a/libdbpp/sqlParseImpl.cpp +++ b/libdbpp/sqlParseImpl.cpp @@ -7,14 +7,14 @@ namespace DB { AdHocFormatter(SqlParseExceptionMsg, "Error parsing SQL script: %? at line %?"); std::string - SqlParseException::message() const throw() + SqlParseException::message() const noexcept { return SqlParseExceptionMsg::get(reason, line); } - SqlParse::SqlParse(std::istream & f, const std::filesystem::path & s) : - yyFlexLexer(&f, NULL), - scriptDir(s) + SqlParse::SqlParse(std::istream & f, std::filesystem::path s) : + yyFlexLexer(&f, nullptr), + scriptDir(std::move(s)) { if (!f.good()) { throw SqlParseException("Script stream not in good state.", 0); diff --git a/libdbpp/sqlWriter.cpp b/libdbpp/sqlWriter.cpp index 8d588dd..328893c 100644 --- a/libdbpp/sqlWriter.cpp +++ b/libdbpp/sqlWriter.cpp @@ -5,8 +5,8 @@ DB::SqlWriter::bindParams(DB::Command *, unsigned int &) { } -DB::StaticSqlWriter::StaticSqlWriter(const std::string & s) : - sql(s) +DB::StaticSqlWriter::StaticSqlWriter(std::string s) : + sql(std::move(s)) { } diff --git a/libdbpp/sqlWriter.h b/libdbpp/sqlWriter.h index ff1c51c..45c84a9 100644 --- a/libdbpp/sqlWriter.h +++ b/libdbpp/sqlWriter.h @@ -25,7 +25,7 @@ namespace DB { public: /// Construct with the SQL to write. /// @param sql The SQL to write. - StaticSqlWriter(const std::string & sql); + StaticSqlWriter(std::string sql); /// Append the SQL to the buffer. /// @param buffer The buffer void writeSql(AdHoc::Buffer & buffer); diff --git a/libdbpp/tablepatch.cpp b/libdbpp/tablepatch.cpp index 5df2aca..d270d7c 100644 --- a/libdbpp/tablepatch.cpp +++ b/libdbpp/tablepatch.cpp @@ -65,7 +65,7 @@ appendIf(AdHoc::Buffer & buf, const Container & c, const std::function<bool(cons { auto fmt = AdHoc::Buffer::getFormat(fmts); unsigned int x = 0; - for (typename Container::const_iterator i = c.begin(); i != c.end(); ++i) { + for (auto i = c.begin(); i != c.end(); ++i) { if (sel(i)) { if (x > 0) { buf.appendbf("%s", sep); @@ -366,7 +366,7 @@ DB::Connection::patchInserts(TablePatch * tp) } std::string -DB::PatchCheckFailure::message() const throw() +DB::PatchCheckFailure::message() const noexcept { return "Santiy checks failed: check table names and keys"; } diff --git a/libdbpp/unittests/libdbpp-mysql b/libdbpp/unittests/libdbpp-mysql -Subproject f4a4a323588410d083dd9ec1145de922db43f80 +Subproject b8ddecf41c8938136b3f4a081e1b8a98584c240 diff --git a/libdbpp/unittests/libdbpp-postgresql b/libdbpp/unittests/libdbpp-postgresql -Subproject 6b913137275cacde9f938058f961d4cbb64f584 +Subproject 1ca0cd42419656cf4a4b9e37c5f3cfb51ccafbb diff --git a/libdbpp/unittests/testParse.cpp b/libdbpp/unittests/testParse.cpp index dcd11d6..d63925b 100644 --- a/libdbpp/unittests/testParse.cpp +++ b/libdbpp/unittests/testParse.cpp @@ -9,7 +9,7 @@ #include <error.h> #include <sqlParse.h> -typedef std::vector<std::string> SQLs; +using SQLs = std::vector<std::string>; BOOST_TEST_SPECIALIZED_COLLECTION_COMPARE(SQLs); class RecordingParser : std::fstream, public DB::SqlParse { @@ -20,12 +20,12 @@ class RecordingParser : std::fstream, public DB::SqlParse { { } - void Comment(const std::string & c) const + void Comment(const std::string & c) const override { comments.push_back(c); } - void Statement(const std::string & s) const + void Statement(const std::string & s) const override { executed.push_back(s); } diff --git a/libdbpp/unittests/testUtils.cpp b/libdbpp/unittests/testUtils.cpp index 092140b..416d359 100644 --- a/libdbpp/unittests/testUtils.cpp +++ b/libdbpp/unittests/testUtils.cpp @@ -32,7 +32,7 @@ BOOST_AUTO_TEST_CASE( forEachRow ) BOOST_REQUIRE_EQUAL(1, a); BOOST_REQUIRE_CLOSE(4.3, b, 0.001); BOOST_REQUIRE_EQUAL("Some text", c); - BOOST_REQUIRE_EQUAL(boost::posix_time::ptime_from_tm({ 17, 39, 13, 7, 10, 115, 0, 0, 0, 0, 0}), d); + BOOST_REQUIRE_EQUAL(boost::posix_time::ptime_from_tm({ 17, 39, 13, 7, 10, 115, 0, 0, 0, 0, nullptr}), d); BOOST_REQUIRE_EQUAL(boost::posix_time::time_duration(4, 3, 2), e); BOOST_REQUIRE_EQUAL(true, f); }); @@ -189,7 +189,7 @@ BOOST_AUTO_TEST_CASE( bulkLoadFile ) }); } -typedef boost::mpl::list<std::string, std::string_view, Glib::ustring> StringTypes; +using StringTypes = boost::mpl::list<std::string, std::string_view, Glib::ustring>; BOOST_AUTO_TEST_CASE_TEMPLATE( nullBind, Str, StringTypes ) { auto db = DB::MockDatabase::openConnectionTo("pqmock"); @@ -239,7 +239,7 @@ BOOST_AUTO_TEST_CASE( charStarBindNull ) auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("pqmock")); db->modify("DELETE FROM forEachRow")->execute(); auto ins = db->modify("INSERT INTO forEachRow(a, c) VALUES(?, ?)"); - char * cs = NULL; + char * cs = nullptr; char * cs2 = strdup("a thing"); ins->bindParamS(0, cs); ins->bindParamS(1, cs2); @@ -276,7 +276,7 @@ BOOST_AUTO_TEST_CASE( bindIntPtr ) auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("pqmock")); db->modify("DELETE FROM forEachRow")->execute(); auto ins = db->modify("INSERT INTO forEachRow(a, b) VALUES(?, ?)"); - int * is = NULL; + int * is = nullptr; int * is2 = new int(53); ins->bindParamI(0, is); ins->bindParamI(1, is2); |