Re: Rules/Trigges Trade-offs

From: Jean-Luc Lachance <jllachan(at)nsd(dot)ca>
To: josh(at)agliodbs(dot)com
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, pgsql-sql <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Rules/Trigges Trade-offs
Date: 2002-12-09 16:11:32
Message-ID: 3DF4C0B4.68BA54B9@nsd.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-sql

Josh,

Thanks for the info.

I need to change an insert into an update when the key already exists.
I have been using a rules to test it on a small set (table) and it
works.
"Rules can't use indexes" just scared me. I will have to test on a
larger set.
Also, I had the impression that if a trigger returned NULL, one would
get the equivalent of "DO NOTHING".
Am I wrong with that assumption?

JLL

Josh Berkus wrote:
>
> Bruce, Richard,
>
> > Triggers are mostly for testing/modifying the row being
> > inserted/updated, while rules are better for affecting other rows or
> > other tables.
>
> Hmmm. Thought that there were also some other criteria:
>
> 1) Rules can't use indexes to do their processing, so Rules which query large
> secondary tables can be a bad idea (maybe this has changed?)
>
> 2) Only Rules can "DO INSTEAD"; thus, only Rules are good for defining
> Read/Write views.
>
> 3) There are no AFTER Rules, making, for example, a rule with a table check on
> the new data impractical, so you'd want to use Triggers or Constraints
>
> etc.
>
> There are, IMHO, some things Rules are better for, and some things Triggers
> are better for. I tend to use all Triggers except for updatable views,
> simply because using a mix of Rules and Triggers can be very hard to keep
> track of, but YMMV.
>
> --
> -Josh Berkus
> Aglio Database Solutions
> San Francisco

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Stephan Szabo 2002-12-09 16:33:10 Re: WAL disk space
Previous Message Erin Munro 2002-12-09 16:05:18 WAL disk space

Browse pgsql-sql by date

  From Date Subject
Next Message Richard Huxton 2002-12-09 16:28:32 Re: Default Permissions (repost from Novice)
Previous Message Charles Hauser 2002-12-09 16:11:21 Adding foreign key constraint post table creation