Re: Deprecating RULES - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Deprecating RULES
Date
Msg-id CAM-w4HMRDa21aYj3Ck4sVRaGDqZcHgxPDRcT71ad8iaZ8eZFsA@mail.gmail.com
Whole thread Raw
In response to Re: Deprecating RULES  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: Deprecating RULES  (Simon Riggs <simon@2ndQuadrant.com>)
Re: Deprecating RULES  (Peter Geoghegan <peter@2ndquadrant.com>)
Re: Deprecating RULES  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
On Sun, Oct 14, 2012 at 9:30 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
> On 12 October 2012 19:48, Greg Stark <stark@mit.edu> wrote:
>> On Fri, Oct 12, 2012 at 7:55 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>>> AFAICS all RULEs can be re-expressed as Triggers or Views.
>>
>> This is a bizarre discussion. Firstly this isn't even close to true.
>> The whole source of people's discontentment is that triggers are *not*
>> equivalent to rules. If they were then they wouldn't be so upset.
>
> This may be a confusion on the point of equivalence; clearly the
> features work differently.
>
> I'm not aware of any rule that can't be rewritten as a trigger or a
> view. Please can anyone show me some examples of those?

Huh? The one thing we currently use rules for, implementing views,
couldn't be done in triggers. In general if your source table is empty
then there's *nothing* you could cause to happen with triggers because
no triggers will fire.

The analogy to this discussion would be something like "users get
confused by macros in C and usually what they're trying to do can be
better done with functions. now that we have functions we should
deprecate macros" All of the preconditions in that sentence are true
but it doesn't follow because macros exist for a reason.

In fact it's not a very good analogy because the situation is
*precisely* the same -- rules *are* macros and manipulate the raw sql
before it's run and the reason they can't be replaced by triggers is
because, like functions, triggers happen after the code is compiled
and run.

-- 
greg



pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: Potential autovacuum optimization: new tables
Next
From: "David Johnston"
Date:
Subject: Re: Deprecating RULES