Asynchronous queries with callbacks.

Started by Вячеслав Блинниковover 15 years ago2 messagesgeneral
Jump to latest

Hello!
I connect to PostgreSQL database in my C++ program via libpq and I need to
implement the function like "void SendQuery(char* queryString, void
(*callback)(void*))" which will .
But how to bind the callback function data (and some parameters) to database
request?
I intended to put queries into queue (along with callback and param data)
and after fetching each result via "PQgetResult()" obtain callback and param
from the queue, but documentation says that "PQexec can return only one
PGresult structure. If the submitted query string contains multiple SQL
commands, all but the last PGresult are discarded by PQexec." so it is
impossible to organize a queries queue because some queries will return more
than one results and it will shift the "callbacks and params" queue.
Is it possible to implement? Or there is only one way - send queries
one-by-one?

In reply to: Вячеслав Блинников (#1)
Re: Asynchronous queries with callbacks.

2011/1/5 Вячеслав Блинников <slavmfm@gmail.com>:

I intended to put queries into queue (along with callback and param data)
and after fetching each result via "PQgetResult()" obtain callback and param
from the queue, but documentation says that "PQexec can return only one
PGresult structure. If the submitted query string contains multiple SQL
commands, all but the last PGresult are discarded by PQexec." so it is
impossible to organize a queries queue because some queries will return more
than one results and it will shift the "callbacks and params" queue.
Is it possible to implement? Or there is only one way - send queries
one-by-one?

I suggest you take a look at libpqxx's pipeline class.

--
Regards,
Peter Geoghegan