[BUGS] BUG #14544: libpq: specifying 'target_session_attrs=read-write'prevents use of PQsendQuery - Mailing list pgsql-bugs

From jordal@amazon.com
Subject [BUGS] BUG #14544: libpq: specifying 'target_session_attrs=read-write'prevents use of PQsendQuery
Date
Msg-id 20170213194355.6101.10039@wrigleys.postgresql.org
Whole thread Raw
Responses Re: [BUGS] BUG #14544: libpq: specifying 'target_session_attrs=read-write'prevents use of PQsendQuery  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      14544
Logged by:          Jordan Lange
Email address:      jordal@amazon.com
PostgreSQL version: Unsupported/Unknown
Operating system:   Linux
Description:

As a part of the commit that adds support for specifying multiple hosts in
libpq
(https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=721f7bd3cbccaf8c07cad2707826b83f84694832),
I believe there's a small bug in the code that checks a connection to see if
it's writable in PQconnectPoll.

There's a switch statement that consumes the input of 'show
transaction_read_only', but this code doesn't loop on PQgetResult until it
returns NULL which leaves the connection in a state where the application
would need to call PQgetResult once more before being able to submit
queries.

A simple fix would be to call PQgetResult once more after the processing is
done (and before erroring out), perhaps with some simple sanity check that
it then returns NULL.
 
Repro steps:
1.    Establish a connection with PQconnectdb and ensure you add
“target_session_attrs=read-write” to the connection string
2.    Try to submit a query using PQsendQuery on the returned connection
object
3.    PQsendQuery fails, and the error message gets set to “another command is
already in progress”

Reference libpq doc that says PQgetResult must be called until it returns
NULL: https://www.postgresql.org/docs/current/static/libpq-async.html.



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

pgsql-bugs by date:

Previous
From: postgres@freigeist.org
Date:
Subject: [BUGS] BUG #14543: libpq fails with group readable ssl keys
Next
From: Michael Paquier
Date:
Subject: Re: [BUGS] BUG #14543: libpq fails with group readable ssl keys