public inbox for [email protected]  
help / color / mirror / Atom feed
From: Erik Thiele <[email protected]>
To: Stephan Szabo <[email protected]>
Cc: [email protected]
Cc: [email protected]
Subject: Re: special integrity constraints
Date: Mon, 22 Mar 2004 17:25:44 +0100
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>

On Mon, 22 Mar 2004 06:21:28 -0800 (PST)
Stephan Szabo <[email protected]> wrote:

> 
> On Mon, 22 Mar 2004, Erik Thiele wrote:
> 
> > On Mon, 22 Mar 2004 12:13:29 +0200 (EET)
> > Achilleus Mantzios <[email protected]> wrote:
> >
> > > O kyrios Erik Thiele egrapse stis Mar 22, 2004 :
> > >
> > > Did you check out the DEFERRABLE option on the constraint?
> > >
> >
> > DEFERRABLE
> > NOT DEFERRABLE
> >
> > This controls whether the constraint can be deferred. A constraint that
> > is not deferrable will be checked immediately after every command.
> > Checking of constraints that are deferrable may be postponed until the
> > end of the transaction (using the SET CONSTRAINTS command). NOT
> > DEFERRABLE is the default.
> >
> > !!!! Only foreign key constraints currently accept
> > this clause. All other constraint types are not deferrable. !!!!
> >
> > my constraint is not a foreign key constraint....
> 
> 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;

begin transaction;

insert into a values(4);
(ok)
insert into a values(10);
(ok)
commit;
(no no i dont want to)


is that possible?

cu
erik


-- 
Erik Thiele



view thread (13+ messages)  latest in thread

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: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: special integrity constraints
  In-Reply-To: <[email protected]>

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

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