Re: NOTIFY/LISTEN why is not a callback as notice processing.

Поиск
Список
Период
Сортировка
От Daniel Verite
Тема Re: NOTIFY/LISTEN why is not a callback as notice processing.
Дата
Msg-id 969ed3d8-ddfd-4e0e-acb4-85d13619f14a@mm
обсуждение исходный текст
Ответ на NOTIFY/LISTEN why is not a callback as notice processing.  ("Filonenko Michael" <filonenko.mikhail@gmail.com>)
Ответы Re: NOTIFY/LISTEN why is not a callback as notice processing.
Список pgsql-general
    Filonenko Michael wrote:

> I create simple mechanism to inform user about something in database
> triggers. In my front-end I use PQsetNoticeReceiver, and display messages
> in QTextEdit.
> I think about multi-user environment. I read about NOTIFY/LISTEN, but find
> no callback mechanism. Is it planning?

Not sure what the multi-user environment implies, but since you're using Qt,
you're probably interested in getting a Qt signal when a db notification
arrives. It turns out it's not hard to do: before calling LISTEN, instantiate
a QSocketNotifier object bound to the socket of the libpq connection, and
connect its activated() signal to a slot. In this slot, your code can deal
with the notification at the libpq level with PQconsumeInput() and
PQnotifies(), do your own processing, and just return.
With this method, you don't have any need for a callback or managing your own
loop: it is Qt's event loop that calls the slot, just as it does for
GUI-related events.

Best regards,
--
Daniel
PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: dblink_get_result issue
Следующее
От: Steve Atkins
Дата:
Сообщение: Re: NOTIFY/LISTEN why is not a callback as notice processing.