Re: Delete rule does not prevent truncate

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: Delete rule does not prevent truncate
Дата
Msg-id 55B12DF2.5050500@aklaver.com
обсуждение исходный текст
Ответ на Re: Delete rule does not prevent truncate  (Tim Smith <randomdev4@gmail.com>)
Ответы Re: Delete rule does not prevent truncate  (Rob Sargent <robjsargent@gmail.com>)
Re: Delete rule does not prevent truncate  (Scott Marlowe <scott.marlowe@gmail.com>)
Re: Delete rule does not prevent truncate  (Tim Smith <randomdev4@gmail.com>)
Список pgsql-general
On 07/23/2015 04:57 AM, Tim Smith wrote:
> Andrew,
>
>  From the manual:
>
> It is important to realize that a rule is really a command
> transformation mechanism, or command macro. The transformation happens
> before the execution of the command starts. If you actually want an
> operation that fires independently for each physical row, you probably
> want to use a trigger, not a rule
>
>
> Thus, I should not have to use a trigger for TRUNCATE because the "each
> row" concept does not apply.     Plus it makes perfect sense to want to
> transform the truncate command and transform into ignore
>

Just in case it has not been made obvious yet, rules are silently
deprecated. They still exist because views depend on them, but it is
generally considered best practices to not use them outside that realm.
So if you want the rule behavior to change for TRUNCATE(if that is even
possible) you are fighting an uphill battle. You may pursue that fight
of course, but I would think you will get a quicker return on your time
if you just forget about using a RULE and stick to a TRIGGER instead.

--
Adrian Klaver
adrian.klaver@aklaver.com


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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Delete rule does not prevent truncate
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: Delete rule does not prevent truncate