On 11/5/15 4:11 PM, Zeus Kronion wrote:
On Nov 1, 2015 5:04 PM, "Marko Tiikkaja" <ma...@joh.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


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to