session progress

This commit is contained in:
2026-04-26 15:50:11 +02:00
parent 656d045ccf
commit 75d5cba6c3
25 changed files with 191 additions and 175 deletions
+7 -7
View File
@@ -41,7 +41,7 @@ public:
const auto now = std::chrono::steady_clock::now();
bus_.publish(statement_lock_failed_event{query, now, now - metrics.lock_attempt_start});
return utils::failure(utils::error{
error_code::STATEMENT_LOCKED,
error_code::StatementLocked,
"Failed to execute statement because it is already in use"
});
}
@@ -51,7 +51,7 @@ public:
auto guard = statement_guard(*this);
if (const auto conn = pool_.acquire(connection_id_); !conn.valid()) {
return utils::failure(utils::error{
error_code::EXECUTE_FAILED,
error_code::ExecuteFailed,
"Failed to execute statement because couldn't lock connection"
});
}
@@ -75,14 +75,14 @@ public:
if (!try_lock()) {
++metrics.lock_attempts;
return utils::failure(utils::error{
error_code::STATEMENT_LOCKED,
error_code::StatementLocked,
"Failed to execute statement because it is already in use"
});
}
auto guard = statement_guard(*this);
if (const auto conn = pool_.acquire(connection_id_); !conn.valid()) {
return utils::failure(utils::error{
error_code::EXECUTE_FAILED,
error_code::ExecuteFailed,
"Failed to execute statement because couldn't lock connection"
});
}
@@ -104,7 +104,7 @@ protected:
for (size_t attempt = 0; attempt < config_.max_attempts; ++attempt) {
if (auto result = func(); result.is_ok() ||
result.err().ec() != error_code::STATEMENT_LOCKED) {
result.err().ec() != error_code::StatementLocked) {
return result;
}
@@ -115,7 +115,7 @@ protected:
}
return utils::failure(utils::error{
error_code::STATEMENT_LOCKED,
error_code::StatementLocked,
"Failed to execute statement because it is already in use"
});
}
@@ -167,7 +167,7 @@ utils::result<statement, utils::error> statement_cache::acquire(const query_cont
const auto conn = pool_.acquire();
auto result = conn->perform_prepare(ctx);
if (!result) {
return utils::failure(utils::error{error_code::PREPARE_FAILED, std::string("Failed to prepare")});
return utils::failure(utils::error{error_code::PrepareFailed, std::string("Failed to prepare")});
}
id = conn.id().value();
stmt = result.release();