Re: libpq, blocking/nonblocking mechanism

Поиск
Список
Период
Сортировка
От Volkan YAZICI
Тема Re: libpq, blocking/nonblocking mechanism
Дата
Msg-id 7104a73705060306553672f56a@mail.gmail.com
обсуждение исходный текст
Ответ на Re: libpq, blocking/nonblocking mechanism  (Terry Lee Tucker <terry@esc1.com>)
Список pgsql-interfaces
Hi,

On 6/1/05, Terry Lee Tucker <terry@esc1.com> wrote:
> PQsetnonblocking() causes PQsendQuery to send an sql string to the backend
> and it returns immediately if you have set nonblocking to true. If you have
> not set nonblocking to true, then PQsendQuery behaves just like PQexec; it
> blocks, i.e., it waits for the query, update, delete, or whatever to complete
> before it returns program control back to your program. We set nonblocking to
> True in our application and when the user queries a large table that could
> return thousands of records, we use PQsendQuery instead of PQexec; however,
> if you do that, then you have to use PQconsumeInput and PQisBusy in
> conjunction with a select statement to monitor the backend connection socket
> so you can process the results when the query finishes. Another reason for
> using asynchronous queries is that you can provide a mechanism for the user
> to cancel the operation.

Thanks so much for the explanation.

> Our application is X-Windows based written in C.
> All my examples are C. If you want to see any of it, you can let me know.

I'd be so appreciated to see them.

Regards.


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: DBD::Pg performance bites compared to DBD::mysql?
Следующее
От: David Hinkle
Дата:
Сообщение: libpq, PQExecParams and the inserting of binary data