Re: Delete rule does not prevent truncate - Mailing list pgsql-general

From Rob Sargent
Subject Re: Delete rule does not prevent truncate
Date
Msg-id 55B12F36.60300@gmail.com
Whole thread Raw
In response to Re: Delete rule does not prevent truncate  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: Delete rule does not prevent truncate  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
On 07/23/2015 12:09 PM, Adrian Klaver wrote:
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.

Or change to using delete instead of truncate?

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Delete rule does not prevent truncate
Next
From: Adrian Klaver
Date:
Subject: Re: Delete rule does not prevent truncate