Re: question on UPDATE rules - Mailing list pgsql-sql

From wieck@debis.com (Jan Wieck)
Subject Re: question on UPDATE rules
Date
Msg-id m12iwkV-0003knC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to question on UPDATE rules  (Matthew Denny <mdenny@CS.Berkeley.EDU>)
List pgsql-sql
>
> I have a rule defined as the following:
>
> CREATE RULE fooBar AS ON
> UPDATE TO VectorMessageTable WHERE new.acks = (SELECT
> numReplicas FROM VectorTable vt WHERE vt.ID =
> new.ID) DO (DELETE FROM VectorMessageTable WHERE ID = new.ID AND
> versionNum = new.versionNum);
>
> if I call:
>
> UPDATE VectorMessageTable SET acks =
> <corresponding-numReplicas-from-VectorTable>
>
> Then I the update goes through, but none of the records are
> deleted. However, if I run any other subsequent update on these tuples in
> VectorMessageTable (even ones that change the acks value) then the
> rule fires and the tuples are deleted.  The crux of the problem seems
> to be that the "new" pseudo-relation seems to be returning old values,
> as this is the only way I can explain this behavior.  Has anyone else
> experienced this problem?  If so, a workaround would be greatly
> appreciated.
   Sorry, but I haven't understood what you really want the rule   to do.  Maybe you can give me enought  of  your
schema plus   some sample queries with comments what you want the rule then   to do.
 


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #




pgsql-sql by date:

Previous
From: wieck@debis.com (Jan Wieck)
Date:
Subject: Re: TOAST (was: BLOB)
Next
From: Tom Lane
Date:
Subject: Re: TOAST (was: BLOB)