Thread: client connections to libpq

client connections to libpq

From
"Brian E. Sanders"
Date:
I have posted on this twice before about this question, but what does
this mean in the 6.4-beta2 HISTORY file:

    Libpq now allows asynchronous clients(Tom)

If someone knowledgeable would just tell me it's too esoteric a question for
the mailing lists, please let me know and I'll look elsewhere.

Brian

 --
Brian Sanders, Software Engineer    619.452.6450
http://www.vingulf.org

Re: [INTERFACES] client connections to libpq

From
Peter T Mount
Date:
On Sat, 17 Oct 1998, Brian E. Sanders wrote:

> I have posted on this twice before about this question, but what does
> this mean in the 6.4-beta2 HISTORY file:
>
>     Libpq now allows asynchronous clients(Tom)
>
> If someone knowledgeable would just tell me it's too esoteric a question for
> the mailing lists, please let me know and I'll look elsewhere.

I believe it's where a client can now abort a result while it's still
being received. It does this by sending an OOB (Out Of Band) packet to the
backend.

Peter

--
       Peter T Mount peter@retep.org.uk
      Main Homepage: http://www.retep.org.uk
PostgreSQL JDBC Faq: http://www.retep.org.uk/postgres
 Java PDF Generator: http://www.retep.org.uk/pdf


Re: [INTERFACES] client connections to libpq

From
Tom Lane
Date:
"Brian E. Sanders" <brian@vingulf.org> writes:
> I have posted on this twice before about this question, but what does
> this mean in the 6.4-beta2 HISTORY file:
>     Libpq now allows asynchronous clients(Tom)

If you posted, I didn't see it...

What it means is that applications using libpq are no longer forced to
wait while the server processes a query.  It used to be that to do a
query, you had to call PQexec(), and control wouldn't come back from
that routine until the database server processed your query (and
returned *all* the data, if it was a SELECT).  Not cool if you needed
to do other things, like handle an interactive user interface or watch
other data source connections.

Of course PQexec still works like that, since we're not in the business
of breaking existing code.  But there are now some additional entry
points, PQsendQuery and PQgetResult, that allow you to send off a
query and then get on with your other business until the result comes
back.  (PQexec is actually now built on top of those routines.)

If this sounds like something you have a use for, please see the new
libpq documentation for details.  I can answer additional questions,
but first I'd like to find out if the doc still needs work ;-)

            regards, tom lane