Re: Rules with Conditions: Bug, or Misunderstanding - Mailing list pgsql-sql

From Joel Burton
Subject Re: Rules with Conditions: Bug, or Misunderstanding
Date
Msg-id 3A27CBE2.20547.491631@localhost
Whole thread Raw
In response to Re: Rules with Conditions: Bug, or Misunderstanding  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Rules with Conditions: Bug, or Misunderstanding
List pgsql-sql
On 29 Nov 2000, at 19:42, Tom Lane wrote:

> "Joel Burton" <jburton@scw.org> writes:
> > create rule dev_ins as on update to dev_col_comments where 
> > old.description isnull do instead insert into pg_description (
> > objoid, description) values (old.att_oid, new.description);
> 
> > create rule dev_upd as on update to dev_col_comments where 
> > old.description notnull do instead update pg_description set 
> > description=new.description where objoid=old.att_oid;
> 
> > This doesn't work: I get a "cannot update view w/o rule" error
> > message, both for fields where description was null, and for fields
> > where it wasn't null.
> 

> [... ] I think this will work:
> 
> create rule dev_upd as on update to dev_col_comments do instead
> (
>   insert into pg_description (objoid, description)
>     select old.att_oid, new.description WHERE old.description isnull;
>   update pg_description set description=new.description
>     where objoid = old.att_oid;
> )

Tom --

Thanks for the help. I had assumed (wrongly) that one could have 
conditional rules, and only if all the conditions fail, that it would go 
to the "cannot update view" end, and didn't realize that there 
*had* to be a single do instead.

In any event, though, the rule above crashes my backend, as do 
simpler versions I wrote that try your CREATE RULE DO INSTEAD ( 
INSERT; UPDATE; ) idea.

What information can I provide to the list to troubleshoot this?

Thanks!


--
Joel Burton, Director of Information Systems -*- jburton@scw.org
Support Center of Washington (www.scw.org)


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: arhiving rule
Next
From: Tom Lane
Date:
Subject: Re: Rules with Conditions: Bug, or Misunderstanding