Skip to content

Commit

Permalink
Add pg reconnection loop (#731)
Browse files Browse the repository at this point in the history
Signed-off-by: Fedor Muratov <muratovfyodor@yandex.ru>
  • Loading branch information
muratovv authored and mloskot committed May 9, 2019
1 parent 64e917c commit a47fd69
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions src/backends/postgresql/error.cpp
Expand Up @@ -95,20 +95,22 @@ details::postgresql_result::check_for_data(char const* errMsg) const
callback->started();

bool retry = false;
std::string newTarget;

callback->failed(retry, newTarget);

if (retry)
{
connection_parameters parameters("postgresql", newTarget);

sessionBackend_.clean_up();

sessionBackend_.connect(parameters);

reconnected = true;
}
do {
std::string newTarget;

callback->failed(retry, newTarget);

if (retry)
{
connection_parameters parameters("postgresql", newTarget);

sessionBackend_.clean_up();

sessionBackend_.connect(parameters);

reconnected = true;
}
} while (retry && !reconnected);
}
catch (...)
{
Expand Down

0 comments on commit a47fd69

Please sign in to comment.