Re: Deprecating RULES - Mailing list pgsql-hackers

From Joshua D. Drake
Subject Re: Deprecating RULES
Date
Msg-id 507EF951.3020403@commandprompt.com
Whole thread Raw
In response to Re: Deprecating RULES  (Greg Stark <stark@mit.edu>)
Responses Re: Deprecating RULES  (Josh Berkus <josh@agliodbs.com>)
List pgsql-hackers
On 10/17/2012 10:46 AM, Greg Stark wrote:
>
> I dislike both of the explanations above which don't actually explain
> why people shouldn't use rules (Josh does say they're tricky which is
> a start). Just telling people we hate parts of the system doesn't
> really come off well and leaves them wondering why.
>
> I would suggest something like
>
> Warning: RULES are tricky to use correctly. They rewrite the original
> query into a new query before it is run and it is very hard to
> correctly anticipate and rewrite every possible input query into the
> desired result. There are also unexpected interactions with other
> components when RULES do something unexpected such as rewrite a single
> query to return two result sets.
>
> For most applications it's much simpler and more predictable to use
> TRIGGERs. ROW level triggers are evaluated for each row the original
> query is about to process (or has just finished processing) and this
> makes them much easier to follow. Statement level TRIGGERs can be used
> for audit logs and similar operations which need to run once per
> statement.
>

I am not sure where to stick it but we should also include the fact that 
rules are almost always slower that a trigger/function comparative.

Sincerely,

JD



>


-- 
Command Prompt, Inc. - http://www.commandprompt.com/
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC
@cmdpromptinc - 509-416-6579



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Deprecating RULES
Next
From: Josh Berkus
Date:
Subject: Re: Deprecating RULES