pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Josh Berkus <josh@agliodbs.com>
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: Jean-Luc Lachance <jllachan@nsd.ca>
Cc: pgsql-sql <pgsql-sql@postgresql.org>
Subject: Re: Rules/Trigges Trade-offs
Date: Fri, 6 Dec 2002 15:54:07 -0800
Message-ID: <200212061554.07415.josh@agliodbs.com> (raw)
In-Reply-To: <200212062330.gB6NUDl20018@candle.pha.pa.us>
References: <200212062330.gB6NUDl20018@candle.pha.pa.us>


Bruce,

> > 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?)
> 
> I don't think this is true.  Rewrite is before optimizer so it should be
> optimized just the same.

I was speaking if the Rule has to do a lookup on a 2nd table in the course of 
its processing; it used to be that such a lookup could not use indexes 
because Rules are pre-optimizer.   This could have changed since 7.1, though.

> > 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
> 
> We have changed ordering in 7.3 where I think INSERT rules are _after_
> the insert.

How would that work?  What if I want to reject the insert?


-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco




view thread (14+ messages)  latest in thread

Message-ID: <200212061554.07415.josh@agliodbs.com>
Permalink:  ../200212061554.07415.josh@agliodbs.com/
Also on:    postgresql.org/message-id/200212061554.07415.josh@agliodbs.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: josh@agliodbs.com, pgman@candle.pha.pa.us, jllachan@nsd.ca
  Subject: Re: Rules/Trigges Trade-offs
  In-Reply-To: <200212061554.07415.josh@agliodbs.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox