#include <userver/storages/postgres/options.hpp>
A structure to control timeouts for PosrgreSQL queries
There are two parameters, execute and statement.
execute parameter controls the overall time the driver spends executing a query, that includes:
statement is rather straightforward, it's the PostgreSQL server-side parameter, and it controls the time the database backend can spend executing a single statement. It is very costly to change the statement timeout often, as it requires a roundtrip to the database to change the setting.
execute timeout should always be greater than the statement timeout!
In case of a timeout, either back-end or overall, the client gets an exception and the driver tries to clean up the connection for further reuse.
Definition at line 117 of file options.hpp.
Public Types | |
| enum class | PreparedStatementsOptionOverride { kNoOverride , kEnabled , kDisabled } |
Public Member Functions | |
| constexpr | CommandControl (TimeoutDuration network_timeout_ms, TimeoutDuration statement_timeout_ms, PreparedStatementsOptionOverride prepared_statements_enabled=PreparedStatementsOptionOverride::kNoOverride) |
| constexpr CommandControl | WithExecuteTimeout (TimeoutDuration n) const noexcept |
| constexpr CommandControl | WithStatementTimeout (TimeoutDuration s) const noexcept |
| bool | operator== (const CommandControl &rhs) const |
| bool | operator!= (const CommandControl &rhs) const |
Public Attributes | |
| TimeoutDuration | network_timeout_ms {} |
| Overall timeout for a command being executed. | |
| TimeoutDuration | statement_timeout_ms {} |
| PostgreSQL server-side timeout. | |
| PreparedStatementsOptionOverride | prepared_statements_enabled {PreparedStatementsOptionOverride::kNoOverride} |
|
strong |
Definition at line 123 of file options.hpp.
|
inlineconstexpr |
Definition at line 127 of file options.hpp.
|
inline |
Definition at line 146 of file options.hpp.
|
inline |
Definition at line 141 of file options.hpp.
|
inlineconstexprnoexcept |
Definition at line 137 of file options.hpp.
|
inlineconstexprnoexcept |
Definition at line 139 of file options.hpp.
| TimeoutDuration storages::postgres::CommandControl::network_timeout_ms {} |
Overall timeout for a command being executed.
Definition at line 119 of file options.hpp.
| PreparedStatementsOptionOverride storages::postgres::CommandControl::prepared_statements_enabled {PreparedStatementsOptionOverride::kNoOverride} |
Definition at line 125 of file options.hpp.
| TimeoutDuration storages::postgres::CommandControl::statement_timeout_ms {} |
PostgreSQL server-side timeout.
Definition at line 121 of file options.hpp.