refactor
This commit is contained in:
		@@ -30,7 +30,7 @@ auto db_delete::context::db_delete_op_t::dump() const -> std::string {
 | 
			
		||||
  return db_delete{ctx}.dump();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_delete::context::db_delete_op_t::go() const -> db_result<context> {
 | 
			
		||||
auto db_delete::context::db_delete_op_t::go() const -> db_result {
 | 
			
		||||
  return db_delete{ctx}.go();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -48,22 +48,18 @@ auto db_delete::dump() const -> std::string {
 | 
			
		||||
  return query.str();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_delete::go() const -> db_result<context> {
 | 
			
		||||
auto db_delete::go() const -> db_result {
 | 
			
		||||
  sqlite3_stmt *stmt_ptr{nullptr};
 | 
			
		||||
  auto query_str = dump();
 | 
			
		||||
  auto res =
 | 
			
		||||
      sqlite3_prepare_v2(ctx_->db3, query_str.c_str(), -1, &stmt_ptr, nullptr);
 | 
			
		||||
  ctx_->stmt = db3_stmt_t{
 | 
			
		||||
      stmt_ptr,
 | 
			
		||||
      sqlite3_statement_deleter(),
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  if (res != SQLITE_OK) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (not ctx_->where_data) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (std::int32_t idx = 0;
 | 
			
		||||
@@ -71,21 +67,21 @@ auto db_delete::go() const -> db_result<context> {
 | 
			
		||||
       idx++) {
 | 
			
		||||
    res = std::visit(
 | 
			
		||||
        overloaded{
 | 
			
		||||
            [this, &idx](std::int64_t data) -> std::int32_t {
 | 
			
		||||
              return sqlite3_bind_int64(ctx_->stmt.get(), idx + 1, data);
 | 
			
		||||
            [&stmt_ptr, &idx](std::int64_t data) -> std::int32_t {
 | 
			
		||||
              return sqlite3_bind_int64(stmt_ptr, idx + 1, data);
 | 
			
		||||
            },
 | 
			
		||||
            [this, &idx](const std::string &data) -> std::int32_t {
 | 
			
		||||
              return sqlite3_bind_text(ctx_->stmt.get(), idx + 1, data.c_str(),
 | 
			
		||||
                                       -1, nullptr);
 | 
			
		||||
            [&stmt_ptr, &idx](const std::string &data) -> std::int32_t {
 | 
			
		||||
              return sqlite3_bind_text(stmt_ptr, idx + 1, data.c_str(), -1,
 | 
			
		||||
                                       nullptr);
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        ctx_->where_data->values.at(static_cast<std::size_t>(idx)));
 | 
			
		||||
    if (res != SQLITE_OK) {
 | 
			
		||||
      return {ctx_, res};
 | 
			
		||||
      return {stmt_ptr, res};
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {ctx_, res};
 | 
			
		||||
  return {stmt_ptr, res};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_delete::group(context::w_t::group_func_t func) -> context::w_t::wn_t {
 | 
			
		||||
 
 | 
			
		||||
@@ -26,8 +26,8 @@
 | 
			
		||||
namespace repertory::utils::db::sqlite {
 | 
			
		||||
void db_insert::context::clear() { values.clear(); }
 | 
			
		||||
 | 
			
		||||
auto db_insert::column_value(std::string column_name,
 | 
			
		||||
                             db_types_t value) -> db_insert & {
 | 
			
		||||
auto db_insert::column_value(std::string column_name, db_types_t value)
 | 
			
		||||
    -> db_insert & {
 | 
			
		||||
  ctx_->values[column_name] = value;
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
@@ -61,18 +61,14 @@ auto db_insert::dump() const -> std::string {
 | 
			
		||||
  return query.str();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_insert::go() const -> db_result<context> {
 | 
			
		||||
auto db_insert::go() const -> db_result {
 | 
			
		||||
  sqlite3_stmt *stmt_ptr{nullptr};
 | 
			
		||||
  auto query_str = dump();
 | 
			
		||||
  auto res =
 | 
			
		||||
      sqlite3_prepare_v2(ctx_->db3, query_str.c_str(), -1, &stmt_ptr, nullptr);
 | 
			
		||||
  ctx_->stmt = db3_stmt_t{
 | 
			
		||||
      stmt_ptr,
 | 
			
		||||
      sqlite3_statement_deleter(),
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  if (res != SQLITE_OK) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (std::int32_t idx = 0;
 | 
			
		||||
@@ -89,11 +85,11 @@ auto db_insert::go() const -> db_result<context> {
 | 
			
		||||
                     },
 | 
			
		||||
                     std::next(ctx_->values.begin(), idx)->second);
 | 
			
		||||
    if (res != SQLITE_OK) {
 | 
			
		||||
      return {ctx_, res};
 | 
			
		||||
      return {stmt_ptr, res};
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {ctx_, res};
 | 
			
		||||
  return {stmt_ptr, res};
 | 
			
		||||
}
 | 
			
		||||
} // namespace repertory::utils::db::sqlite
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ auto db_select::context::db_select_op_t::dump() const -> std::string {
 | 
			
		||||
  return db_select{ctx}.dump();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_select::context::db_select_op_t::go() const -> db_result<context> {
 | 
			
		||||
auto db_select::context::db_select_op_t::go() const -> db_result {
 | 
			
		||||
  return db_select{ctx}.go();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -72,8 +72,8 @@ auto db_select::column(std::string column_name) -> db_select & {
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_select::count(std::string column_name,
 | 
			
		||||
                      std::string as_column_name) -> db_select & {
 | 
			
		||||
auto db_select::count(std::string column_name, std::string as_column_name)
 | 
			
		||||
    -> db_select & {
 | 
			
		||||
  ctx_->count_columns[column_name] = as_column_name;
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
@@ -142,22 +142,18 @@ auto db_select::dump() const -> std::string {
 | 
			
		||||
  return query.str();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_select::go() const -> db_result<context> {
 | 
			
		||||
auto db_select::go() const -> db_result {
 | 
			
		||||
  sqlite3_stmt *stmt_ptr{nullptr};
 | 
			
		||||
  auto query_str = dump();
 | 
			
		||||
  auto res =
 | 
			
		||||
      sqlite3_prepare_v2(ctx_->db3, query_str.c_str(), -1, &stmt_ptr, nullptr);
 | 
			
		||||
  ctx_->stmt = db3_stmt_t{
 | 
			
		||||
      stmt_ptr,
 | 
			
		||||
      sqlite3_statement_deleter(),
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  if (res != SQLITE_OK) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (not ctx_->where_data) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (std::int32_t idx = 0;
 | 
			
		||||
@@ -175,11 +171,11 @@ auto db_select::go() const -> db_result<context> {
 | 
			
		||||
        },
 | 
			
		||||
        ctx_->where_data->values.at(static_cast<std::size_t>(idx)));
 | 
			
		||||
    if (res != SQLITE_OK) {
 | 
			
		||||
      return {ctx_, res};
 | 
			
		||||
      return {stmt_ptr, res};
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {ctx_, res};
 | 
			
		||||
  return {stmt_ptr, res};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_select::group(context::w_t::group_func_t func) -> context::w_t::wn_t {
 | 
			
		||||
@@ -209,8 +205,8 @@ auto db_select::offset(std::int32_t value) -> db_select & {
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_select::order_by(std::string column_name,
 | 
			
		||||
                         bool ascending) -> db_select & {
 | 
			
		||||
auto db_select::order_by(std::string column_name, bool ascending)
 | 
			
		||||
    -> db_select & {
 | 
			
		||||
  ctx_->order_by = {column_name, ascending};
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ auto db_update::context::db_update_op_t::dump() const -> std::string {
 | 
			
		||||
  return db_update{ctx}.dump();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_update::context::db_update_op_t::go() const -> db_result<context> {
 | 
			
		||||
auto db_update::context::db_update_op_t::go() const -> db_result {
 | 
			
		||||
  return db_update{ctx}.go();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -52,8 +52,8 @@ auto db_update::context::db_update_op_t::order_by(std::string column_name,
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_update::column_value(std::string column_name,
 | 
			
		||||
                             db_types_t value) -> db_update & {
 | 
			
		||||
auto db_update::column_value(std::string column_name, db_types_t value)
 | 
			
		||||
    -> db_update & {
 | 
			
		||||
  ctx_->column_values[column_name] = value;
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
@@ -91,18 +91,15 @@ auto db_update::dump() const -> std::string {
 | 
			
		||||
  return query.str();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_update::go() const -> db_result<context> {
 | 
			
		||||
auto db_update::go() const -> db_result {
 | 
			
		||||
  sqlite3_stmt *stmt_ptr{nullptr};
 | 
			
		||||
 | 
			
		||||
  auto query_str = dump();
 | 
			
		||||
  auto res =
 | 
			
		||||
      sqlite3_prepare_v2(ctx_->db3, query_str.c_str(), -1, &stmt_ptr, nullptr);
 | 
			
		||||
  ctx_->stmt = db3_stmt_t{
 | 
			
		||||
      stmt_ptr,
 | 
			
		||||
      sqlite3_statement_deleter(),
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  if (res != SQLITE_OK) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (std::int32_t idx = 0;
 | 
			
		||||
@@ -119,12 +116,12 @@ auto db_update::go() const -> db_result<context> {
 | 
			
		||||
                     },
 | 
			
		||||
                     std::next(ctx_->column_values.begin(), idx)->second);
 | 
			
		||||
    if (res != SQLITE_OK) {
 | 
			
		||||
      return {ctx_, res};
 | 
			
		||||
      return {stmt_ptr, res};
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (not ctx_->where_data) {
 | 
			
		||||
    return {ctx_, res};
 | 
			
		||||
    return {stmt_ptr, res};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (std::int32_t idx = 0;
 | 
			
		||||
@@ -149,11 +146,11 @@ auto db_update::go() const -> db_result<context> {
 | 
			
		||||
        },
 | 
			
		||||
        ctx_->where_data->values.at(static_cast<std::size_t>(idx)));
 | 
			
		||||
    if (res != SQLITE_OK) {
 | 
			
		||||
      return {ctx_, res};
 | 
			
		||||
      return {stmt_ptr, res};
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {ctx_, res};
 | 
			
		||||
  return {stmt_ptr, res};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_update::group(context::w_t::group_func_t func) -> context::w_t::wn_t {
 | 
			
		||||
@@ -173,8 +170,8 @@ auto db_update::limit(std::int32_t value) -> db_update & {
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
auto db_update::order_by(std::string column_name,
 | 
			
		||||
                         bool ascending) -> db_update & {
 | 
			
		||||
auto db_update::order_by(std::string column_name, bool ascending)
 | 
			
		||||
    -> db_update & {
 | 
			
		||||
  ctx_->order_by = {column_name, ascending};
 | 
			
		||||
  return *this;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user