Re: special integrity constraints

From: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
To: Erik Thiele <erik(at)thiele-hydraulik(dot)de>
Cc: achill(at)matrix(dot)gatewaynet(dot)com, pgsql-sql(at)postgresql(dot)org
Subject: Re: special integrity constraints
Date: 2004-03-22 16:34:54
Message-ID: 20040322083110.X58785@megazone.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-sql

On Mon, 22 Mar 2004, Erik Thiele wrote:

> On Mon, 22 Mar 2004 06:21:28 -0800 (PST)
> Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> wrote:
>
> >
> > On Mon, 22 Mar 2004, Erik Thiele wrote:
> >
> > However, foreign keys are implemented using "constraint triggers". They're
> > really not documented much (because they're a not really separately
> > supported implementation detail), but you can theoretically make
> > triggers that are deferred to immediately before commit time.
>
> could you paste some code?
>
>
> create table a (x integer);
>
> create or replace function alwaysfail() returns opaque as '
> begin
> raise exception ''no no i dont want to'';
> end;
> ' language 'plpgsql';
>
> MAGIC COMMAND INSERT HERE, INSTALL CALL OF alwaysfail() ON
> MODIFICATION OF TABLE a AT COMMIT TIME;

create constraint trigger a_foo1 after insert or update or delete on a
initially deferred for each row execute procedure alwaysfail();

Like I said, it's an implementation detail, so it's not 100% guaranteed to
exist forever, but it's almost certain to last until we have deferrable
non-fk constraints. It does also obey set constraints so, set constraints
a_foo1 immediate does the checks immediately just as if it were a deferred
constraint.

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Bruno Wolff III 2004-03-23 00:34:56 Re: [SQL] special integrity constraints
Previous Message Erik Thiele 2004-03-22 16:25:44 Re: special integrity constraints

Browse pgsql-sql by date

  From Date Subject
Next Message Bruno Wolff III 2004-03-23 00:34:56 Re: [SQL] special integrity constraints
Previous Message Erik Thiele 2004-03-22 16:25:44 Re: special integrity constraints