little statement_cache test changes

This commit is contained in:
Sascha Kühl
2025-08-12 16:30:45 +02:00
parent 6ac3f80887
commit a32330ef5b
4 changed files with 36 additions and 19 deletions
+9 -8
View File
@@ -9,13 +9,7 @@
namespace matador::sql {
namespace internal {
class statement_cache_proxy final : public statement_proxy {
public:
struct retry_config {
size_t max_attempts{10};
std::chrono::milliseconds initial_wait{10};
std::chrono::milliseconds max_wait{250};
};
private:
struct execution_metrics {
std::chrono::steady_clock::time_point lock_attempt_start;
std::chrono::steady_clock::time_point lock_acquired{};
@@ -24,6 +18,13 @@ public:
size_t lock_attempts{0};
};
public:
struct retry_config {
size_t max_attempts{10};
std::chrono::milliseconds initial_wait{10};
std::chrono::milliseconds max_wait{250};
};
statement_cache_proxy(utils::message_bus &bus, std::unique_ptr<statement_impl>&& stmt, connection_pool &pool, const size_t connection_id)
: statement_proxy(std::move(stmt))
, pool_(pool)
@@ -48,7 +49,6 @@ public:
bus_.publish(statement_lock_acquired_event{query, now, now - metrics.lock_attempt_start});
auto guard = statement_guard(*this);
metrics.execution_start = std::chrono::steady_clock::now();
if (const auto conn = pool_.acquire(connection_id_); !conn.valid()) {
return utils::failure(utils::error{
error_code::EXECUTE_FAILED,
@@ -56,6 +56,7 @@ public:
});
}
metrics.execution_start = std::chrono::steady_clock::now();
auto execution_result = statement_->execute(bindings);
metrics.execution_end = std::chrono::steady_clock::now();