Re: Asynchronous queries with bound data.

From: Peter Geoghegan <peter(dot)geoghegan86(at)gmail(dot)com>
To: Вячеслав Блинников <slavmfm(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Asynchronous queries with bound data.
Date: 2011-01-05 20:10:03
Message-ID: AANLkTi=myACs29=1EQ=pfrLHcmM6QbD7tf3vkn-4PyLc@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2011/1/5 Вячеслав Блинников <slavmfm(at)gmail(dot)com>:
> Database connection using "libpq":
> So, generally speaking, I need:
> - send multiple queries using "PQsendQuery()" (or what else)
> - bind some data (void*) to each qeury
> - obtain results using "PQgetResult()" (or what else) and to know which data
> is bound to each result (correspondence between queries and results)
> How it can be implemented?

You cannot "bind" data to a query. You cannot execute two queries in
parallel with one connection. However, PGresults exist totally
independently or the connection or thread that originated them, so
feel free to stash them as you see fit.

libpq usually operates within the same thread context as the client
application, so in general it doesn't make sense to pass a function
pointer (which you suggested in a slightly earlier mail to the list)
that will be called back asynchronously like a signal handler.
Asynchronous command processing just exists as a way to keep a GUI
responsive and things like that, because PQExec() blocks.

Maybe it would help if you stepped back and described your problem in
broader terms.

--
Regards,
Peter Geoghegan

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Raymond O'Donnell 2011-01-05 20:13:27 Re: UUID column as pimrary key?
Previous Message Alex Hunsaker 2011-01-05 19:58:15 Re: How to build plperl with PostgreSQL 9 on Windows