Re: pgsql-server/src/interfaces/libpgtcl pgtclCmds ...

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql-server/src/interfaces/libpgtcl pgtclCmds ...
Дата
Msg-id 5232.1029614055@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: pgsql-server/src/interfaces/libpgtcl pgtclCmds ...  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: pgsql-server/src/interfaces/libpgtcl pgtclCmds ...  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-committers
Bruce Momjian <pgman@candle.pha.pa.us> writes:
>> I am beginning to think that patch must have a hex on it.

> Oops.  Here it is, in mailbox format.

Having looked it over, I'm not happy about it.  The two big problems are

* hardwired use of "connection_closed" as a NOTIFY condition name.
It might be considered unlikely that this condition name is already in
use out there ... or it might not.

* not removing pending notifies from queue when connection loss
is detected.  This WILL break existing applications (note blithe
reference to possible segfaults in notify scripts in his message).
The reason we are killing those notifies is so that the app won't be
fooled into trying to execute database operations because of receipt
of a stale NOTIFY callback.  While a callback intended specifically
for connection_closed could be expected not to try to do database
operations, I think it's unreasonable to expect existing callbacks for
normal NOTIFY conditions to be coded to guard against this.

I'm also unhappy about the complete lack of documentation.

I'd like to revert this patch and ask Gerhard to try again.

The design I'd suggest is that there be a new command added to libpgtcl
with a format along the lines of
    pg_on_connection_loss dbHandle [ callbackCommand ]
This would be essentially similar to pg_listen except for omitting the
notifyName parameter, and could share a lot of the internal
implementation.  By doing this we could avoid hardwiring an assumption
about an unused notification name.

Also, the code *has* to be rejiggered so that ordinary notify events
are still dropped on connection loss.  And some documentation of this
new command would be appropriate...

            regards, tom lane

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: pgsql-server/src/interfaces/libpgtcl pgtclCmds ...
Следующее
От: tgl@postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql-server/doc/src/sgml/ref pg_resetxlog.sgml