From 3ce03dabf5e95a6c490775306dfed5e0b730bd39 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 17 Oct 2024 18:49:50 -0500 Subject: [PATCH] updated build system --- .../src/file_manager/file_manager.cpp | 1 + support/include/utils/db/sqlite/db_common.hpp | 15 +++++++++++++-- support/src/utils/db/sqlite/db_delete.cpp | 5 +---- support/src/utils/db/sqlite/db_insert.cpp | 5 +---- support/src/utils/db/sqlite/db_select.cpp | 1 - support/src/utils/db/sqlite/db_update.cpp | 1 - 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/repertory/librepertory/src/file_manager/file_manager.cpp b/repertory/librepertory/src/file_manager/file_manager.cpp index 8717cd95..e204de1e 100644 --- a/repertory/librepertory/src/file_manager/file_manager.cpp +++ b/repertory/librepertory/src/file_manager/file_manager.cpp @@ -824,6 +824,7 @@ void file_manager::start() { } } catch (const std::exception &ex) { utils::error::raise_error(function_name, ex, "query error"); + std::abort(); } } diff --git a/support/include/utils/db/sqlite/db_common.hpp b/support/include/utils/db/sqlite/db_common.hpp index 9e006106..666559d0 100644 --- a/support/include/utils/db/sqlite/db_common.hpp +++ b/support/include/utils/db/sqlite/db_common.hpp @@ -183,11 +183,22 @@ template struct db_result final { } } - ~db_result() { ctx_->clear(); } + db_result() = default; + db_result(const db_result &) = default; + db_result(db_result &&) noexcept = default; + + auto operator=(const db_result &) -> db_result & = default; + auto operator=(db_result &&) -> db_result & = default; + + ~db_result() { + if (ctx_) { + ctx_->clear(); + } + } private: std::shared_ptr ctx_; - mutable std::int32_t res_; + mutable std::int32_t res_{}; private: void set_res(std::int32_t res) const { res_ = res; } diff --git a/support/src/utils/db/sqlite/db_delete.cpp b/support/src/utils/db/sqlite/db_delete.cpp index 887f9a46..0ef0ad3c 100644 --- a/support/src/utils/db/sqlite/db_delete.cpp +++ b/support/src/utils/db/sqlite/db_delete.cpp @@ -24,10 +24,7 @@ #if defined(PROJECT_ENABLE_SQLITE) namespace repertory::utils::db::sqlite { -void db_delete::context::clear() { - stmt.reset(); - where_data.reset(); -} +void db_delete::context::clear() { where_data.reset(); } auto db_delete::context::db_delete_op_t::dump() const -> std::string { return db_delete{ctx}.dump(); diff --git a/support/src/utils/db/sqlite/db_insert.cpp b/support/src/utils/db/sqlite/db_insert.cpp index 00c8caa5..47cd62db 100644 --- a/support/src/utils/db/sqlite/db_insert.cpp +++ b/support/src/utils/db/sqlite/db_insert.cpp @@ -24,10 +24,7 @@ #if defined(PROJECT_ENABLE_SQLITE) namespace repertory::utils::db::sqlite { -void db_insert::context::clear() { - stmt.reset(); - values.clear(); -} +void db_insert::context::clear() { values.clear(); } auto db_insert::column_value(std::string column_name, db_types_t value) -> db_insert & { diff --git a/support/src/utils/db/sqlite/db_select.cpp b/support/src/utils/db/sqlite/db_select.cpp index 43417a4c..ec6650a2 100644 --- a/support/src/utils/db/sqlite/db_select.cpp +++ b/support/src/utils/db/sqlite/db_select.cpp @@ -31,7 +31,6 @@ void db_select::context::clear() { limit.reset(); offset.reset(); order_by.reset(); - stmt.reset(); where_data.reset(); } diff --git a/support/src/utils/db/sqlite/db_update.cpp b/support/src/utils/db/sqlite/db_update.cpp index f0d40719..23360487 100644 --- a/support/src/utils/db/sqlite/db_update.cpp +++ b/support/src/utils/db/sqlite/db_update.cpp @@ -28,7 +28,6 @@ void db_update::context::clear() { column_values.clear(); limit.reset(); order_by.reset(); - stmt.reset(); where_data.reset(); }