Re: Resetting libpq connections after an app error
От | Martijn van Oosterhout |
---|---|
Тема | Re: Resetting libpq connections after an app error |
Дата | |
Msg-id | 20120721085557.GA23125@svana.org обсуждение исходный текст |
Ответ на | Resetting libpq connections after an app error (Daniele Varrazzo <daniele.varrazzo@gmail.com>) |
Ответы |
Re: Resetting libpq connections after an app error
|
Список | pgsql-hackers |
On Sat, Jul 21, 2012 at 01:08:58AM +0100, Daniele Varrazzo wrote: > Hello, > > apologize for bumping the question to -hackers but I got no answer > from -general. If there is a better ML to post it let me know. > > In a libpq application, if there is an application error between > PQsendQuery and PQgetResult, is there a way to revert a connection > back to an usable state (i.e. from transaction status ACTIVE to IDLE) > without using the network in a blocking way? We are currently doing > > while (NULL != (res = PQgetResult(conn->pgconn))) { > PQclear(res); > } > > but this is blocking, and if the error had been caused by the network > down, we'll just get stuck in a poll() waiting for a timeout. There is PQreset(), which also exists in a non-blocking variant. Hope this helps, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > He who writes carelessly confesses thereby at the very outset that he does > not attach much importance to his own thoughts. -- Arthur Schopenhauer
В списке pgsql-hackers по дате отправления: