Skip to content
Snippets Groups Projects

query_supervisor configuration and parallel queries support and functionl test refactoring

Merged Marcin requested to merge mi_sql_breaker_tuples_limit_config into develop
Files
275
@@ -3,6 +3,7 @@
@@ -3,6 +3,7 @@
#include "psql_utils/query_handler/root_query_handler.hpp"
#include "psql_utils/query_handler/root_query_handler.hpp"
#include <chrono>
#include <chrono>
 
#include <functional>
#include "psql_utils/postgres_includes.hpp"
#include "psql_utils/postgres_includes.hpp"
@@ -21,7 +22,10 @@ namespace PsqlTools::PsqlUtils {
@@ -21,7 +22,10 @@ namespace PsqlTools::PsqlUtils {
: public RootQueryHandler
: public RootQueryHandler
{
{
public:
public:
TimeoutQueryHandler( std::chrono::milliseconds _queryTimeout );
using Limit = std::chrono::milliseconds;
 
using TimeoutLimitGetter = std::function< Limit() >;
 
 
TimeoutQueryHandler( TimeoutLimitGetter _limitGetter );
~TimeoutQueryHandler() override;
~TimeoutQueryHandler() override;
void onRootQueryStart( QueryDesc* _queryDesc, int _eflags ) override;
void onRootQueryStart( QueryDesc* _queryDesc, int _eflags ) override;
@@ -31,7 +35,7 @@ namespace PsqlTools::PsqlUtils {
@@ -31,7 +35,7 @@ namespace PsqlTools::PsqlUtils {
void spawnTimer();
void spawnTimer();
private:
private:
const std::chrono::milliseconds m_queryTimeout;
const TimeoutLimitGetter m_timeoutLimitGetter;
TimeoutId m_pendingQueryTimeout{USER_TIMEOUT};
TimeoutId m_pendingQueryTimeout{USER_TIMEOUT};
};
};
} // namespace PsqlTools::PsqlUtils
} // namespace PsqlTools::PsqlUtils
Loading