Re: Exporting more function in libpq - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Exporting more function in libpq
Date
Msg-id 31875.1471614214@sss.pgh.pa.us
Whole thread Raw
In response to Exporting more function in libpq  (Tatsuo Ishii <ishii@sraoss.co.jp>)
Responses Re: Exporting more function in libpq  (Tatsuo Ishii <ishii@sraoss.co.jp>)
List pgsql-hackers
Tatsuo Ishii <ishii@sraoss.co.jp> writes:
> I would like to proppse to export these functions in libpq.
> pqPutMsgStart
> pqPutMsgEnd
> pqPutc
> pqPuts
> pqPutInt
> pqPutnchar
> pqFlush
> pqHandleSendFailure

> I think this would be useful to create a tool/library which needs to
> handle frontend/backend protocol messages in detail.

I do not think this is a good idea.  If the purpose of libpq is not
to abstract away the wire-level protocol, then what is its purpose?
And how could such a tool avoid breaking libpq, anyway?  For one
example, successfully sending any command message normally results in
an internal state change in libpq (so that it knows what to do with
the response).  Your proposed API here doesn't cover that.  Nor does
it cover actually dealing with the response, which I think would be
needed in most scenarios where you're trying to deal in custom messages.

If you feel a need to be sending your own messages, I think a locally
hacked fork of libpq is a better answer.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Yury Zhuravlev
Date:
Subject: Re: WIP: About CMake v2
Next
From: Tom Lane
Date:
Subject: Re: Should we cacheline align PGXACT?