Re: Patch: Implement failover on libpq connect level.
| От | Robert Haas |
|---|---|
| Тема | Re: Patch: Implement failover on libpq connect level. |
| Дата | |
| Msg-id | CA+TgmoYVFiZHiMzppBp-Mdj8D98fcL3BFhL+j3kpRVv2b7ry_g@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: Patch: Implement failover on libpq connect level. (Mithun Cy <mithun.cy@enterprisedb.com>) |
| Ответы |
Re: Patch: Implement failover on libpq connect level.
|
| Список | pgsql-hackers |
On Sun, Dec 4, 2016 at 11:00 PM, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
> On Fri, Dec 2, 2016 at 8:54 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> Couldn't this just be a variable in PQconnectPoll(), instead of adding
>> a new structure member?
>
> I have fixed same with a local variable in PQconnectPoll, Initally I thought
> savedMessage should have same visiblitly as errorMessage so we can restore
> the errorMessage even outside PQconnectPoll. But that seems not required.
> Attacting the new patch which fixes the same.
I think that you need a restoreErrorMessage call here:
/* Skip any remaining addresses for this host. */
conn->addr_cur = NULL;
if (conn->whichhost + 1 < conn->nconnhost)
{
conn->status = CONNECTION_NEEDED;
restoreErrorMessage(conn, &savedMessage);
goto keep_going;
}
Updated patch attached with that change, the removal of a useless
hunk, and the removal of "inline" from the new functions, which seems
like second-guessing of whatever decision the compiler chooses to
make.
Thoughts?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Вложения
В списке pgsql-hackers по дате отправления: