Hi,
On Mar 25 08:47, John DeSoi wrote:
> I have not looked at libpq in any detail, but it should have access
> to the type of all the parameters in the prepared statement. The
> Describe (F) statement in the frontend/backend protocol identifies
> the type of each parameter.
I've prepared a patch for the Describe <-> ParameterDescription
messaging which is available via current extended query protocol.
Usage (and implementation) is explained in the patch's documentation
related part. (Also I tried to place informative comments in the code
too.)
But I've a problem with ereport() error calls caused by erronous
target_type entries. After an error in exec_describe_statement_message()
(or exec_describe_portal_message()) it leaves block with ereport() call
and client side stalls in PGASYNC_BUSY state while backend stalls in
PostgresMain() by calling ReadCommand(). To summerize, an error
returning pqDescribe() call causes both side to stall.
I'd be so appreciated to hear your thoughts about the patch and above
problem.
Regards.