session progress
This commit is contained in:
@@ -34,7 +34,7 @@ utils::result<void, utils::error> postgres_connection::open() {
|
||||
const std::string msg = PQerrorMessage(conn_);
|
||||
PQfinish(conn_);
|
||||
conn_ = nullptr;
|
||||
return utils::failure(make_error(sql::error_code::OPEN_ERROR, nullptr, conn_, "Failed to connect"));
|
||||
return utils::failure(make_error(sql::error_code::OpenError, nullptr, conn_, "Failed to connect"));
|
||||
}
|
||||
|
||||
return utils::ok<void>();
|
||||
@@ -70,7 +70,7 @@ utils::result<utils::version, utils::error> postgres_connection::server_version(
|
||||
const auto server_version = PQserverVersion(conn_);
|
||||
|
||||
if (server_version == 0) {
|
||||
return utils::failure(make_error(sql::error_code::FAILURE, nullptr, conn_, "Failed to get server version"));
|
||||
return utils::failure(make_error(sql::error_code::Failure, nullptr, conn_, "Failed to get server version"));
|
||||
}
|
||||
|
||||
return utils::ok(utils::version{
|
||||
@@ -86,7 +86,7 @@ utils::result<std::unique_ptr<sql::query_result_impl>, utils::error> postgres_co
|
||||
PGresult *res = PQexec(conn_, context.sql.c_str());
|
||||
|
||||
if (is_result_error(res)) {
|
||||
const auto err = make_error(sql::error_code::FETCH_FAILED, res, conn_, "Failed to fetch", context.sql);
|
||||
const auto err = make_error(sql::error_code::FetchFailed, res, conn_, "Failed to fetch", context.sql);
|
||||
PQclear(res);
|
||||
return utils::failure(err);
|
||||
}
|
||||
@@ -95,7 +95,7 @@ utils::result<std::unique_ptr<sql::query_result_impl>, utils::error> postgres_co
|
||||
|
||||
const int num_col = PQnfields(res);
|
||||
if (prototype.size() != static_cast<size_t>(num_col)) {
|
||||
const auto err = make_error(sql::error_code::FETCH_FAILED, res, conn_, "Number of received columns doesn't match expected columns.", context.sql);
|
||||
const auto err = make_error(sql::error_code::FetchFailed, res, conn_, "Number of received columns doesn't match expected columns.", context.sql);
|
||||
PQclear(res);
|
||||
return utils::failure(err);
|
||||
}
|
||||
@@ -133,7 +133,7 @@ utils::result<sql::execute_result, utils::error> postgres_connection::execute(co
|
||||
PGresult *res = PQexec(conn_, stmt.c_str());
|
||||
|
||||
if (const auto status = PQresultStatus(res); status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK) {
|
||||
return utils::failure(make_error(sql::error_code::FAILURE, res, conn_, "Failed to execute", stmt));
|
||||
return utils::failure(make_error(sql::error_code::Failure, res, conn_, "Failed to execute", stmt));
|
||||
}
|
||||
|
||||
const size_t affected_rows = utils::to<size_t>(PQcmdTuples(res));
|
||||
@@ -149,7 +149,7 @@ utils::result<std::unique_ptr<sql::statement_impl>, utils::error> postgres_conne
|
||||
PGresult *result = PQprepare(conn_, statement_name.c_str(), context.sql.c_str(), static_cast<int>(context.bind_vars.size()), nullptr);
|
||||
|
||||
if (is_result_error(result)) {
|
||||
return utils::failure(make_error(sql::error_code::PREPARE_FAILED, result, conn_, "Failed to prepare", context.sql));
|
||||
return utils::failure(make_error(sql::error_code::PrepareFailed, result, conn_, "Failed to prepare", context.sql));
|
||||
}
|
||||
|
||||
std::unique_ptr<sql::statement_impl> s(std::make_unique<postgres_statement>(conn_, result, statement_name, context));
|
||||
@@ -161,7 +161,7 @@ utils::result<sql::execute_result, utils::error> postgres_connection::execute(co
|
||||
PGresult *res = PQexec(conn_, context.sql.c_str());
|
||||
|
||||
if (const auto status = PQresultStatus(res); status != PGRES_COMMAND_OK && status != PGRES_TUPLES_OK) {
|
||||
return utils::failure(make_error(sql::error_code::FAILURE, res, conn_, "Failed to execute", context.sql));
|
||||
return utils::failure(make_error(sql::error_code::Failure, res, conn_, "Failed to execute", context.sql));
|
||||
}
|
||||
|
||||
const size_t affected_rows = utils::to<size_t>(PQcmdTuples(res));
|
||||
@@ -256,7 +256,7 @@ utils::result<std::vector<object::attribute>, utils::error> postgres_connection:
|
||||
PGresult *res = PQexec(conn_, stmt.c_str());
|
||||
|
||||
if (is_result_error(res)) {
|
||||
return utils::failure(make_error(sql::error_code::DESCRIBE_FAILED, res, conn_, "Failed to describe", stmt));
|
||||
return utils::failure(make_error(sql::error_code::DescribeFailed, res, conn_, "Failed to describe", stmt));
|
||||
}
|
||||
|
||||
postgres_result_reader reader(res);
|
||||
@@ -297,13 +297,13 @@ utils::result<bool, utils::error> postgres_connection::exists(const std::string
|
||||
PGresult *res = PQexec(conn_, stmt.c_str());
|
||||
|
||||
if (is_result_error(res)) {
|
||||
return utils::failure(make_error(sql::error_code::TABLE_EXISTS_FAILED, res, conn_, "Failed check if table exists", stmt));
|
||||
return utils::failure(make_error(sql::error_code::TableExistsFailed, res, conn_, "Failed check if table exists", stmt));
|
||||
}
|
||||
|
||||
const auto result = utils::to<size_t>(PQcmdTuples(res));
|
||||
if (!result) {
|
||||
PQclear(res);
|
||||
return utils::failure(make_error(sql::error_code::FAILURE, res, conn_, "Failed to convert result value", stmt));
|
||||
return utils::failure(make_error(sql::error_code::Failure, res, conn_, "Failed to convert result value", stmt));
|
||||
}
|
||||
|
||||
PQclear(res);
|
||||
@@ -315,7 +315,7 @@ utils::result<bool, utils::error> postgres_connection::sequence_exists(const std
|
||||
PGresult* res = PQexec(conn_, sql.c_str());
|
||||
|
||||
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
|
||||
return utils::failure(make_error(sql::error_code::SEQUENCE_EXISTS_FAILED, res, conn_, "Failed check if sequence exists", sql));
|
||||
return utils::failure(make_error(sql::error_code::SequenceExistsFailed, res, conn_, "Failed check if sequence exists", sql));
|
||||
}
|
||||
|
||||
const bool exists = PQgetisnull(res, 0, 0) ? false : true;
|
||||
|
||||
@@ -21,7 +21,7 @@ postgres_statement::~postgres_statement() {
|
||||
utils::result<sql::execute_result, utils::error> postgres_statement::execute(const sql::parameter_binder& bindings) {
|
||||
const auto* postgres_bindings = dynamic_cast<const postgres_parameter_binder*>(&bindings);
|
||||
if (!postgres_bindings) {
|
||||
return utils::failure(utils::error(sql::error_code::EXECUTE_FAILED, "Failed to cast bindings to postgres bindings"));
|
||||
return utils::failure(utils::error(sql::error_code::ExecuteFailed, "Failed to cast bindings to postgres bindings"));
|
||||
}
|
||||
|
||||
if (query_.command == sql::sql_command::Insert) {
|
||||
@@ -37,7 +37,7 @@ utils::result<sql::execute_result, utils::error> postgres_statement::execute(con
|
||||
0);
|
||||
|
||||
if (is_result_error(res)) {
|
||||
return utils::failure(make_error(sql::error_code::EXECUTE_FAILED, res, db_, "Failed to execute statement", query_.sql));
|
||||
return utils::failure(make_error(sql::error_code::ExecuteFailed, res, db_, "Failed to execute statement", query_.sql));
|
||||
}
|
||||
|
||||
size_t value{0};
|
||||
@@ -53,7 +53,7 @@ utils::result<sql::execute_result, utils::error> postgres_statement::execute(con
|
||||
utils::result<std::unique_ptr<sql::query_result_impl>, utils::error> postgres_statement::fetch(const sql::parameter_binder& bindings) {
|
||||
const auto* postgres_bindings = dynamic_cast<const postgres_parameter_binder*>(&bindings);
|
||||
if (!postgres_bindings) {
|
||||
return utils::failure(utils::error(sql::error_code::EXECUTE_FAILED, "Failed to cast bindings to postgres bindings"));
|
||||
return utils::failure(utils::error(sql::error_code::ExecuteFailed, "Failed to cast bindings to postgres bindings"));
|
||||
}
|
||||
PGresult *res = PQexecPrepared(db_,
|
||||
name_.c_str(),
|
||||
@@ -64,7 +64,7 @@ utils::result<std::unique_ptr<sql::query_result_impl>, utils::error> postgres_st
|
||||
0);
|
||||
|
||||
if (is_result_error(res)) {
|
||||
return utils::failure(make_error(sql::error_code::FETCH_FAILED, res, db_, "Failed to fetch statement", query_.sql));
|
||||
return utils::failure(make_error(sql::error_code::FetchFailed, res, db_, "Failed to fetch statement", query_.sql));
|
||||
}
|
||||
|
||||
return utils::ok(std::make_unique<sql::query_result_impl>(std::make_unique<postgres_result_reader>(res),
|
||||
|
||||
Reference in New Issue
Block a user