Re: conditional rule not applied

Поиск
Список
Период
Сортировка
От Seb
Тема Re: conditional rule not applied
Дата
Msg-id 87iqbber4u.fsf@kolob.sebmags.homelinux.org
обсуждение исходный текст
Ответ на conditional rule not applied  (Seb <spluque@gmail.com>)
Список pgsql-general
On Thu, 7 Jan 2010 21:04:45 -0700,
Scott Marlowe <scott.marlowe@gmail.com> wrote:

> On Wed, Dec 30, 2009 at 6:39 PM, Seb <spluque@gmail.com> wrote:
>> CREATE RULE footwear_nothing_upd AS    ON UPDATE TO footwear DO
>> INSTEAD NOTHING; CREATE RULE footwear_newshoelaces_upd AS    ON
>> UPDATE TO footwear    WHERE NEW.sl_name <> OLD.sl_name AND
>> OLD.sl_name IS NULL    DO INSERT INTO shoelaces (sh_id, sl_name)  
>>  VALUES(NEW.sh_id, NEW.sl_name);

> Isn't that first rule gonna always fire and make the second one a
> NOOP?

No, the second is an implied ALSO, so it gets added to the DO INSTEAD
NOTHING.  This is actually the approach recommended in the man page for
CREATE RULE where the reasons for doing that are described.  The problem
with this is that it always displays the message "UPDATE 0" when in fact
the second rule may have also been applied with the INSERT.  I posted
this question to the postgresql.sql NG, where some discussion ensued.


--
Seb

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

Предыдущее
От: Erik Jones
Дата:
Сообщение: Re: WAL Log Shipping - Warm Standby not working under 8.3.7
Следующее
От: Anisha Kaul
Дата:
Сообщение: pgsql2shp usage