Re: WIP: Fix parallel workers connection bug in pg_dump (Bug #13727)

From: Marko Tiikkaja <marko(at)joh(dot)to>
To: Zeus Kronion <zkronion(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: WIP: Fix parallel workers connection bug in pg_dump (Bug #13727)
Date: 2015-11-05 15:23:32
Message-ID: 563B7474.1080405@joh.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 11/5/15 4:11 PM, Zeus Kronion wrote:
> On Nov 1, 2015 5:04 PM, "Marko Tiikkaja" <marko(at)joh(dot)to> wrote:
>> However, I don't quite like the way the password cache is kept up to date
> in the old *or* the new code. It seems to me that it should instead look
> like:
>>
>> if (PQconnectionUsedPassword(AH->connection))
>> AH->savedPassword = PQpass(AH->connection);
>>
>> What do you think?
>
> I don't understand why this logic is preferable. Is your concern that
> AH->savedPassword may contain a password even when none is needed?

The opposite, sort of. If the first connection uses a password, the
second one doesn't, and the third one does again, you need to ask for a
password again because you emptied the cache on the second attempt since
it didn't use a password. Granted, this situation is quite unlikely to
occur in practice, but I find the "correct" code *also* more readable.
To me it reads like "if the what we're caching was applied during the
connection attempt, update the cache; otherwise keep the previous value
in case it's useful in the future".

.m

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2015-11-05 15:26:44 Re: Some bugs in psql_complete of psql
Previous Message Victor Wagner 2015-11-05 15:12:35 Re: Patch: Implement failover on libpq connect level.