Re: Patch: Implement failover on libpq connect level.
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Mithun Cy <mithun.cy@enterprisedb.com>
Cc: Kuntal Ghosh <kuntalghosh.2007@gmail.com>,
Catalin Iacob <iacobcatalin@gmail.com>, "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>,
Craig Ringer <craig@2ndquadrant.com>, Peter van Hardenberg <pvh@pvh.ca>, Peter Eisentraut <peter_e@gmx.net>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2016-12-05T19:12:26Z
Lists: pgsql-hackers
On Mon, Dec 5, 2016 at 1:59 PM, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
> On Mon, Dec 5, 2016 at 11:23 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>>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;
>> }
>
> Right after seeing transaction is read-only we have restored the saved
> message so I think we do not need one more restore there.
> if (strncmp(val, "on", 2) == 0)
> {
> PQclear(res);
> + restoreErrorMessage(conn, &savedMessage);
D'oh! You're correct, of course.
Committed without that.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Commits
-
libpq: Add target_session_attrs parameter.
- 721f7bd3cbcc 10.0 landed
-
Remove superuser checks in pgstattuple
- fd321a1dfd64 10.0 cited
-
Fix unwanted flushing of libpq's input buffer when socket EOF is seen.
- c405918858c0 9.6.0 cited