Re: query cancel issues in contrib/dblink

Поиск
Список
Период
Сортировка
От Itagaki Takahiro
Тема Re: query cancel issues in contrib/dblink
Дата
Msg-id 20090629123230.AD52.52131E4D@oss.ntt.co.jp
обсуждение исходный текст
Ответ на Re: query cancel issues in contrib/dblink  (Merlin Moncure <mmoncure@gmail.com>)
Ответы Re: query cancel issues in contrib/dblink  (Stephen Frost <sfrost@snowman.net>)
Re: query cancel issues in contrib/dblink  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
Merlin Moncure <mmoncure@gmail.com> wrote:

> Takahiro<itagaki.takahiro@oss.ntt.co.jp> wrote:
> > contrib/dblink seems to have no treatments for query cancels.
> > (1) Users need to wait for completion of remote query.
> > (2) PGresult objects will be memory leak.

Here is a patch to fix the issues. I hope the fixes will be ported
to older versions if possible.

(1) is fixed by using non-blocking APIs in libpq. I think we should
always use non-blocking APIs even if the dblink function itself is
a blocking-function.

(2) is fixed by RegisterXactCallback(AtEOXact_dblink). However, there
might be any better solutions -- for example, ResourceOwner framework.


> > For (1), asynchronous libpq functions should be used instead of blocking
> > ones, and wait for the remote query using a loop with CHECK_FOR_INTERRUPTS().
>
> How would you structure this loop exactly?

Please check execute_query() and wait_for_result() in the patch.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center


Вложения

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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: dependencies for generated header files
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Query progress indication - an implementation