Re: [INTERFACES] client connections to libpq - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: [INTERFACES] client connections to libpq
Date
Msg-id 13839.908639498@sss.pgh.pa.us
Whole thread Raw
In response to client connections to libpq  ("Brian E. Sanders" <brian@vingulf.org>)
List pgsql-interfaces
"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

pgsql-interfaces by date:

Previous
From: Peter T Mount
Date:
Subject: Re: [INTERFACES] client connections to libpq
Next
From: "Billy G. Allie"
Date:
Subject: Problem with interfaces/ecpg/lib/Makefile.in in PostgreSQL 6.4.